Home | History | Annotate | Download | only in zzjson
      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 
      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