| /* JSON free |
| * ZZJSON - Copyright (C) 2008 by Ivo van Poorten |
| * License: GNU Lesser General Public License version 2.1 |
| */ |
| |
| #include "zzjson.h" |
| |
| void zzjson_free(ZZJSON_CONFIG *config, ZZJSON *zzjson) { |
| while (zzjson) { |
| ZZJSON *next; |
| switch(zzjson->type) { |
| case ZZJSON_OBJECT: |
| config->free(zzjson->value.object.label); |
| zzjson_free(config, zzjson->value.object.val); |
| break; |
| case ZZJSON_ARRAY: |
| zzjson_free(config, zzjson->value.array.val); |
| break; |
| case ZZJSON_STRING: |
| config->free(zzjson->value.string.string); |
| break; |
| default: |
| break; |
| } |
| next = zzjson->next; |
| config->free(zzjson); |
| zzjson = next; |
| } |
| } |