Keep track of the root of the parse tree for the caller

This commit is contained in:
Eric Fischer 2014-02-06 21:06:27 -08:00
parent 415193ad8e
commit f0f73c6dd1
2 changed files with 7 additions and 2 deletions

View File

@ -11,9 +11,10 @@ typedef enum json_expect {
static json_pull *json_init() {
json_pull *j = malloc(sizeof(json_pull));
j->container = NULL;
j->error = NULL;
j->line = 1;
j->root = NULL;
j->container = NULL;
return j;
}
@ -126,6 +127,8 @@ static json_object *add_object(json_pull *j, json_type type) {
return NULL;
}
}
} else {
j->root = o;
}
return o;

View File

@ -18,13 +18,15 @@ typedef struct json_object {
} json_object;
struct json_pull {
json_object *container;
json_object *root;
char *error;
int (*read)(struct json_pull *);
int (*peek)(struct json_pull *);
void *source;
int line;
json_object *container;
};
typedef struct json_pull json_pull;