• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* JSON free
2  * ZZJSON - Copyright (C) 2008 by Ivo van Poorten
3  * License: GNU Lesser General Public License version 2.1
4  */
5 
6 #include "zzjson.h"
7 
zzjson_free(ZZJSON_CONFIG * config,ZZJSON * zzjson)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;
24         }
25         next = zzjson->next;
26         config->free(zzjson);
27         zzjson = next;
28     }
29 }
30