44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
char *name;
if ((keyLength = key.UTF8StringLength) < 1) {
objc_autoreleasePoolPop(pool);
return [self valueForUndefinedKey: key];
}
name = of_alloc(keyLength + 3, 1);
@try {
memcpy(name, "is", 2);
memcpy(name + 2, key.UTF8String, keyLength);
name[keyLength + 2] = '\0';
name[2] = of_ascii_toupper(name[2]);
selector = sel_registerName(name);
} @finally {
free(name);
}
methodSignature = [self methodSignatureForSelector: selector];
if (methodSignature == NULL) {
objc_autoreleasePoolPop(pool);
return [self valueForUndefinedKey: key];
|
|
|
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
char *name;
if ((keyLength = key.UTF8StringLength) < 1) {
objc_autoreleasePoolPop(pool);
return [self valueForUndefinedKey: key];
}
name = OFAllocMemory(keyLength + 3, 1);
@try {
memcpy(name, "is", 2);
memcpy(name + 2, key.UTF8String, keyLength);
name[keyLength + 2] = '\0';
name[2] = of_ascii_toupper(name[2]);
selector = sel_registerName(name);
} @finally {
OFFreeMemory(name);
}
methodSignature = [self methodSignatureForSelector: selector];
if (methodSignature == NULL) {
objc_autoreleasePoolPop(pool);
return [self valueForUndefinedKey: key];
|
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
if ((keyLength = key.UTF8StringLength) < 1) {
objc_autoreleasePoolPop(pool);
[self setValue: value forUndefinedKey: key];
return;
}
name = of_alloc(keyLength + 5, 1);
@try {
memcpy(name, "set", 3);
memcpy(name + 3, key.UTF8String, keyLength);
memcpy(name + keyLength + 3, ":", 2);
name[3] = of_ascii_toupper(name[3]);
selector = sel_registerName(name);
} @finally {
free(name);
}
methodSignature = [self methodSignatureForSelector: selector];
if (methodSignature == nil ||
methodSignature.numberOfArguments != 3 ||
*methodSignature.methodReturnType != 'v' ||
|
|
|
|
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
if ((keyLength = key.UTF8StringLength) < 1) {
objc_autoreleasePoolPop(pool);
[self setValue: value forUndefinedKey: key];
return;
}
name = OFAllocMemory(keyLength + 5, 1);
@try {
memcpy(name, "set", 3);
memcpy(name + 3, key.UTF8String, keyLength);
memcpy(name + keyLength + 3, ":", 2);
name[3] = of_ascii_toupper(name[3]);
selector = sel_registerName(name);
} @finally {
OFFreeMemory(name);
}
methodSignature = [self methodSignatureForSelector: selector];
if (methodSignature == nil ||
methodSignature.numberOfArguments != 3 ||
*methodSignature.methodReturnType != 'v' ||
|