40 cfile->
stack[0] = elem;
54 if (strcmp(val,
"null") == 0)
56 else if (strcmp(val,
"true") == 0)
58 else if (strcmp(val,
"false") == 0) {
147 "expected \"key\":value", val);
152 "expected ':'", val);
160 "expected ','", val);
165 "expected ':'", val);
172 "expected \"key\":value or '}'",
176 "expected ',' or '}'", val);
enum dhcp_token peek_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token next_token(const char **rval, unsigned *rlen, struct parse *cfile)
void listPush(struct element *l, struct element *e)
struct string * makeString(int l, const char *s)
struct element * createList(void)
struct element * createBool(isc_boolean_t b)
size_t mapSize(const struct element *m)
struct element * createNull(void)
struct element * create(void)
struct element * createInt(int64_t i)
void mapSet(struct element *m, struct element *e, const char *k)
size_t listSize(const struct element *l)
struct element * createMap(void)
struct element * createString(const struct string *s)
#define TAILQ_CONCAT(head1, head2)
#define skip_token(a, b, c)
struct element * json_map_parse(struct parse *cfile)
struct element * json_parse(struct parse *cfile)
struct element * json_list_parse(struct parse *cfile)
void parse_error(struct parse *cfile, const char *fmt,...)
void stackPush(struct parse *pc, struct element *elem)