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
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