ObjFW  Diff

Differences From Artifact [9c33438270]:

To Artifact [3bfea8ea41]:


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
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);
		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]);
			name[2] = OFASCIIToUpper(name[2]);

			selector = sel_registerName(name);
		} @finally {
			free(name);
			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
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);
	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]);
		name[3] = OFASCIIToUpper(name[3]);

		selector = sel_registerName(name);
	} @finally {
		free(name);
		OFFreeMemory(name);
	}

	methodSignature = [self methodSignatureForSelector: selector];

	if (methodSignature == nil ||
	    methodSignature.numberOfArguments != 3 ||
	    *methodSignature.methodReturnType != 'v' ||