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
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
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;