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)8void 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