283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
|
if (type != REG_SZ && type != REG_EXPAND_SZ && type != REG_LINK)
@throw [OFInvalidEncodingException exception];
if (data.itemSize != 1)
@throw [OFInvalidFormatException exception];
if ([OFSystemInfo isWindowsNT]) {
const of_char16_t *UTF16String = data.items;
size_t length = data.count;
if (length % 2 == 1)
@throw [OFInvalidFormatException exception];
length /= 2;
|
|
|
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
|
if (type != REG_SZ && type != REG_EXPAND_SZ && type != REG_LINK)
@throw [OFInvalidEncodingException exception];
if (data.itemSize != 1)
@throw [OFInvalidFormatException exception];
if ([OFSystemInfo isWindowsNT]) {
const OFChar16 *UTF16String = data.items;
size_t length = data.count;
if (length % 2 == 1)
@throw [OFInvalidFormatException exception];
length /= 2;
|
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
|
{
void *pool = objc_autoreleasePoolPush();
OFData *data;
if ([OFSystemInfo isWindowsNT])
data = [OFData dataWithItems: string.UTF16String
count: string.UTF16StringLength + 1
itemSize: sizeof(of_char16_t)];
else {
of_string_encoding_t encoding = [OFLocale encoding];
const char *cString = [string cStringWithEncoding: encoding];
size_t length = [string cStringLengthWithEncoding: encoding];
data = [OFData dataWithItems: cString count: length + 1];
}
[self setData: data forValueNamed: name type: type];
|
|
|
|
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
|
{
void *pool = objc_autoreleasePoolPush();
OFData *data;
if ([OFSystemInfo isWindowsNT])
data = [OFData dataWithItems: string.UTF16String
count: string.UTF16StringLength + 1
itemSize: sizeof(OFChar16)];
else {
OFStringEncoding encoding = [OFLocale encoding];
const char *cString = [string cStringWithEncoding: encoding];
size_t length = [string cStringLengthWithEncoding: encoding];
data = [OFData dataWithItems: cString count: length + 1];
}
[self setData: data forValueNamed: name type: type];
|