ObjFW  Check-in [62cd394e96]

Overview
Comment:JSON5: Allow trailing commas.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 62cd394e96edb680037b87e7602d2f88c7e4b97de3c60dcd0f64eed92e111535
User & Date: js on 2012-06-05 10:21:44
Other Links: manifest | tags
Context
2012-06-05
14:51
Add a warning to -[OFString JSONValue]. check-in: 509ab0affd user: js tags: trunk
10:21
JSON5: Allow trailing commas. check-in: 62cd394e96 user: js tags: trunk
2012-06-04
23:50
JSON5: Allow strings split across multiple lines. check-in: 2002348e23 user: js tags: trunk
Changes

Modified src/OFString+JSONValue.m from [b5b787a904] to [9867823bd8].

283
284
285
286
287
288
289










290
291
292
293
294
295
296

		skipWhitespacesAndComments(pointer, stop);
		if (*pointer >= stop)
			return nil;

		if (**pointer == ']')
			break;











		if ((object = nextObject(pointer, stop)) == nil)
			return nil;

		[array addObject: object];

		skipWhitespacesAndComments(pointer, stop);







>
>
>
>
>
>
>
>
>
>







283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306

		skipWhitespacesAndComments(pointer, stop);
		if (*pointer >= stop)
			return nil;

		if (**pointer == ']')
			break;

		if (**pointer == ',') {
			(*pointer)++;
			skipWhitespacesAndComments(pointer, stop);

			if (*pointer >= stop || **pointer != ']')
				return nil;

			break;
		}

		if ((object = nextObject(pointer, stop)) == nil)
			return nil;

		[array addObject: object];

		skipWhitespacesAndComments(pointer, stop);
325
326
327
328
329
330
331










332
333
334
335
336
337
338

		skipWhitespacesAndComments(pointer, stop);
		if (*pointer >= stop)
			return nil;

		if (**pointer == '}')
			break;











		if ((key = nextObject(pointer, stop)) == nil)
			return nil;

		skipWhitespacesAndComments(pointer, stop);
		if (*pointer + 1 >= stop || **pointer != ':')
			return nil;







>
>
>
>
>
>
>
>
>
>







335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358

		skipWhitespacesAndComments(pointer, stop);
		if (*pointer >= stop)
			return nil;

		if (**pointer == '}')
			break;

		if (**pointer == ',') {
			(*pointer)++;
			skipWhitespacesAndComments(pointer, stop);

			if (*pointer >= stop || **pointer != '}')
				return nil;

			break;
		}

		if ((key = nextObject(pointer, stop)) == nil)
			return nil;

		skipWhitespacesAndComments(pointer, stop);
		if (*pointer + 1 >= stop || **pointer != ':')
			return nil;