784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
|
newWithClass: isa];
if ((character & 0xFC00) == 0xD800) {
uint16_t nextCharacter;
if (length <= i + 1)
@throw [OFInvalidEncodingException
newWithClass: isa];
nextCharacter = (swap
? of_bswap16(string[i + 1])
: string[i + 1]);
character = (((character & 0x3FF) << 10) |
(nextCharacter & 0x3FF)) + 0x10000;
i++;
}
characterLen = of_string_unicode_to_utf8(
character, buffer);
switch (characterLen) {
case 1:
|
|
>
|
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
|
newWithClass: isa];
if ((character & 0xFC00) == 0xD800) {
uint16_t nextCharacter;
if (length <= i + 1)
@throw [OFInvalidEncodingException
newWithClass: isa];
nextCharacter = (swap
? of_bswap16(string[i + 1])
: string[i + 1]);
character = (((character & 0x3FF) << 10) |
(nextCharacter & 0x3FF)) + 0x10000;
i++;
s->cStringLength--;
}
characterLen = of_string_unicode_to_utf8(
character, buffer);
switch (characterLen) {
case 1:
|
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
|
return s->cStringLength;
}
- (BOOL)isEqual: (id)object
{
if (![object isKindOfClass: [OFString class]])
return NO;
if (strcmp(s->cString, [object cString]))
return NO;
return YES;
}
|
>
>
>
|
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
|
return s->cStringLength;
}
- (BOOL)isEqual: (id)object
{
if (![object isKindOfClass: [OFString class]])
return NO;
if ([object cStringLength] != s->cStringLength)
return NO;
if (strcmp(s->cString, [object cString]))
return NO;
return YES;
}
|