diff --git a/ext/yajl/api/yajl_gen.h b/ext/yajl/api/yajl_gen.h index 87beb44..a04ade3 100644 --- a/ext/yajl/api/yajl_gen.h +++ b/ext/yajl/api/yajl_gen.h @@ -63,7 +63,9 @@ extern "C" { yajl_gen_invalid_number, /** A print callback was passed in, so there is no internal * buffer to get from */ - yajl_gen_no_buf + yajl_gen_no_buf, + /** Tried to decrement at depth 0 */ + yajl_depth_underflow } yajl_gen_status; /** an opaque handle to a generator */ diff --git a/ext/yajl/yajl_gen.c b/ext/yajl/yajl_gen.c index 0436c4e..b241a65 100644 --- a/ext/yajl/yajl_gen.c +++ b/ext/yajl/yajl_gen.c @@ -178,7 +178,7 @@ yajl_gen_free(yajl_gen g) if (++(g->depth) >= YAJL_MAX_DEPTH) return yajl_max_depth_exceeded; #define DECREMENT_DEPTH \ - if (--(g->depth) >= YAJL_MAX_DEPTH) return yajl_gen_error; + if (--(g->depth) >= YAJL_MAX_DEPTH) return yajl_depth_underflow; #define APPENDED_ATOM \ switch (g->state[g->depth]) { \ diff --git a/ext/yajl/yajl_lex.c b/ext/yajl/yajl_lex.c index ea63aa1..3711455 100644 --- a/ext/yajl/yajl_lex.c +++ b/ext/yajl/yajl_lex.c @@ -43,6 +43,7 @@ const char *yajl_tok_name(yajl_tok tok) { case yajl_tok_bool: return "bool"; case yajl_tok_colon: return "colon"; case yajl_tok_comma: return "comma"; + case yajl_tok_comment: return "comment"; case yajl_tok_eof: return "eof"; case yajl_tok_error: return "error"; case yajl_tok_left_brace: return "open_array";