ObjFW  Diff

Differences From Artifact [196faf3bb5]:

To Artifact [966d2aeae2]:


72
73
74
75
76
77
78


79
80
81

82



83
84
85
86
87
88
89
90
91
92
93
94
95
72
73
74
75
76
77
78
79
80
81
82
83
84

85
86
87
88
89
90
91


92
93
94
95
96
97
98







+
+



+
-
+
+
+




-
-







				       length: i];
}

static OFString*
parseEntities(OFString *self, id (*lookup)(void*, OFString*, OFString*),
    void *context)
{
	OFMutableString *ret;
	void *pool;
	const char *string;
	size_t i, last, length;
	bool inEntity;

	OFMutableString *ret;
	ret = [OFMutableString string];

	pool = objc_autoreleasePoolPush();

	string = [self UTF8String];
	length = [self UTF8StringLength];

	ret = [OFMutableString string];

	last = 0;
	inEntity = false;

	for (i = 0; i < length; i++) {
		if (!inEntity && string[i] == '&') {
			[ret appendUTF8String: string + last
				       length: i - last];
165
166
167
168
169
170
171


172
173
174
175
176
177
178
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183







+
+







	if (inEntity)
		@throw [OFInvalidFormatException exception];

	[ret appendUTF8String: string + last
		       length: i - last];

	[ret makeImmutable];

	objc_autoreleasePoolPop(pool);

	return ret;
}

static id
lookupUsingDelegate(void *context, OFString *self, OFString *entity)
{