source: bootcd/isolinux/syslinux-6.03/com32/gpllib/zzjson/zzjson_free.c @ e16e8f2

Last change on this file since e16e8f2 was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 829 bytes
Line 
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}
Note: See TracBrowser for help on using the repository browser.