Adding upstream version 6.02~pre8+dfsg.
[syslinux-debian/hramrach.git] / com32 / gpllib / zzjson / zzjson_free.c
blob01dfd242f37e6f0364a3a7dfe462124a3e23857e
1 /* JSON free
2 * ZZJSON - Copyright (C) 2008 by Ivo van Poorten
3 * License: GNU Lesser General Public License version 2.1
4 */
6 #include "zzjson.h"
8 void zzjson_free(ZZJSON_CONFIG *config, ZZJSON *zzjson) {
9 while (zzjson) {
10 ZZJSON *next;
11 switch(zzjson->type) {
12 case ZZJSON_OBJECT:
13 config->free(zzjson->value.object.label);
14 zzjson_free(config, zzjson->value.object.val);
15 break;
16 case ZZJSON_ARRAY:
17 zzjson_free(config, zzjson->value.array.val);
18 break;
19 case ZZJSON_STRING:
20 config->free(zzjson->value.string.string);
21 break;
22 default:
23 break;
25 next = zzjson->next;
26 config->free(zzjson);
27 zzjson = next;