| 2101 | | MVChatRoomMemberMode mode = MVChatRoomMemberNoModes; |
|---|
| 2102 | | |
|---|
| 2103 | | unsigned int i = 0; |
|---|
| 2104 | | unsigned int length = [memberName length]; |
|---|
| 2105 | | for( i = 0; i < length; i++ ) { |
|---|
| 2106 | | unichar chr = [memberName characterAtIndex:i]; |
|---|
| 2107 | | if( ! isalpha( chr ) ) { |
|---|
| 2108 | | if( prefixes ) { |
|---|
| 2109 | | NSString *key = [[NSString allocWithZone:nil] initWithFormat:@"%c", chr]; |
|---|
| 2110 | | mode = [[prefixes objectForKey:key] unsignedLongValue]; |
|---|
| 2111 | | [key release]; |
|---|
| 2112 | | } else { |
|---|
| 2113 | | switch( chr ) { |
|---|
| 2114 | | case '+': mode = MVChatRoomMemberVoicedMode; break; |
|---|
| 2115 | | case '@': mode = MVChatRoomMemberOperatorMode; break; |
|---|
| 2116 | | default: break; |
|---|
| 2117 | | } |
|---|
| 2118 | | } |
|---|
| 2119 | | } else break; |
|---|
| | 2100 | MVChatRoomMemberMode modes = MVChatRoomMemberNoModes; |
|---|
| | 2101 | if( _serverInformation ) { |
|---|
| | 2102 | NSMutableDictionary *prefixes = [_serverInformation objectForKey:@"roomMemberPrefixTable"]; |
|---|
| | 2103 | NSString *key = [[NSString allocWithZone:nil] initWithFormat:@"%c", [memberName characterAtIndex:0]]; |
|---|
| | 2104 | modes = [[prefixes objectForKey:key] unsignedLongValue]; |
|---|
| | 2105 | [key release]; |
|---|
| | 2106 | } else { |
|---|
| | 2107 | switch( [memberName characterAtIndex:0] ) { |
|---|
| | 2108 | case '+': modes = MVChatRoomMemberVoicedMode; break; |
|---|
| | 2109 | case '@': modes = MVChatRoomMemberOperatorMode; break; |
|---|
| | 2110 | default: break; |
|---|
| | 2111 | } |
|---|