74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
- (const char*)OF_cStringWithEncoding: (of_string_encoding_t)encoding
lossy: (bool)lossy;
@end
extern bool of_unicode_to_iso_8859_15(const of_unichar_t*, char*, size_t, bool);
extern bool of_unicode_to_windows_1252(const of_unichar_t*, char*, size_t,
bool);
/* References for static linking */
void _references_to_categories_of_OFString(void)
{
_OFString_Hashing_reference = 1;
_OFString_JSONValue_reference = 1;
_OFString_Serialization_reference = 1;
|
>
>
|
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
- (const char*)OF_cStringWithEncoding: (of_string_encoding_t)encoding
lossy: (bool)lossy;
@end
extern bool of_unicode_to_iso_8859_15(const of_unichar_t*, char*, size_t, bool);
extern bool of_unicode_to_windows_1252(const of_unichar_t*, char*, size_t,
bool);
extern bool of_unicode_to_codepage_437(const of_unichar_t*, char*, size_t,
bool);
/* References for static linking */
void _references_to_categories_of_OFString(void)
{
_OFString_Hashing_reference = 1;
_OFString_JSONValue_reference = 1;
_OFString_Serialization_reference = 1;
|
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
|
if (!of_unicode_to_windows_1252(characters, cString, length,
lossy))
@throw [OFInvalidEncodingException exception];
cString[length] = '\0';
return length;
default:
@throw [OFNotImplementedException exceptionWithSelector: _cmd
object: self];
}
}
|
>
>
>
>
>
>
>
>
>
>
>
|
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
|
if (!of_unicode_to_windows_1252(characters, cString, length,
lossy))
@throw [OFInvalidEncodingException exception];
cString[length] = '\0';
return length;
case OF_STRING_ENCODING_CODEPAGE_437:
if (length + 1 > maxLength)
@throw [OFOutOfRangeException exception];
if (!of_unicode_to_codepage_437(characters, cString, length,
lossy))
@throw [OFInvalidEncodingException exception];
cString[length] = '\0';
return length;
default:
@throw [OFNotImplementedException exceptionWithSelector: _cmd
object: self];
}
}
|
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
|
}
break;
case OF_STRING_ENCODING_ASCII:
case OF_STRING_ENCODING_ISO_8859_1:
case OF_STRING_ENCODING_ISO_8859_15:
case OF_STRING_ENCODING_WINDOWS_1252:
cString = [object allocMemoryWithSize: length + 1];
[self OF_getCString: cString
maxLength: length + 1
encoding: encoding
lossy: lossy];
|
>
|
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
|
}
break;
case OF_STRING_ENCODING_ASCII:
case OF_STRING_ENCODING_ISO_8859_1:
case OF_STRING_ENCODING_ISO_8859_15:
case OF_STRING_ENCODING_WINDOWS_1252:
case OF_STRING_ENCODING_CODEPAGE_437:
cString = [object allocMemoryWithSize: length + 1];
[self OF_getCString: cString
maxLength: length + 1
encoding: encoding
lossy: lossy];
|
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
|
}
return UTF8StringLength;
case OF_STRING_ENCODING_ASCII:
case OF_STRING_ENCODING_ISO_8859_1:
case OF_STRING_ENCODING_ISO_8859_15:
case OF_STRING_ENCODING_WINDOWS_1252:
return [self length];
default:
@throw [OFNotImplementedException exceptionWithSelector: _cmd
object: self];
}
}
|
>
|
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
|
}
return UTF8StringLength;
case OF_STRING_ENCODING_ASCII:
case OF_STRING_ENCODING_ISO_8859_1:
case OF_STRING_ENCODING_ISO_8859_15:
case OF_STRING_ENCODING_WINDOWS_1252:
case OF_STRING_ENCODING_CODEPAGE_437:
return [self length];
default:
@throw [OFNotImplementedException exceptionWithSelector: _cmd
object: self];
}
}
|