ObjFW  Diff

Differences From Artifact [706b49d04b]:

To Artifact [c0346b7fe9]:


144
145
146
147
148
149
150
151

152
153
154
155
156
157
158
159
144
145
146
147
148
149
150

151

152
153
154
155
156
157
158







-
+
-







	char *buffer;
	size_t i = 0;
	char delimiter = **pointer;

	if (++(*pointer) + 1 >= stop)
		return nil;

	if ((buffer = malloc(stop - *pointer)) == NULL)
	buffer = of_malloc(stop - *pointer, 1);
		return nil;

	while (*pointer < stop) {
		/* Parse escape codes */
		if (**pointer == '\\') {
			if (++(*pointer) >= stop) {
				free(buffer);
				return nil;
291
292
293
294
295
296
297
298

299
300
301
302
303
304
305
306
290
291
292
293
294
295
296

297

298
299
300
301
302
303
304







-
+
-








static inline OFString *
parseIdentifier(const char **pointer, const char *stop)
{
	char *buffer;
	size_t i = 0;

	if ((buffer = malloc(stop - *pointer)) == NULL)
	buffer = of_malloc(stop - *pointer, 1);
		return nil;

	while (*pointer < stop) {
		if ((**pointer >= 'a' && **pointer <= 'z') ||
		    (**pointer >= 'A' && **pointer <= 'Z') ||
		    (**pointer >= '0' && **pointer <= '9') ||
		    **pointer == '_' || **pointer == '$' ||
		    (**pointer & 0x80)) {
382
383
384
385
386
387
388

389
390
391
392
393
394
395
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394







+







		}
	}

	/*
	 * It is never possible to end with an identifier, thus we should never
	 * reach stop.
	 */
	free(buffer);
	return nil;
}

static inline OFMutableArray *
parseArray(const char **pointer, const char *stop, size_t *line,
    size_t depthLimit)
{