commit 6fee21b428578b931737ecdd29324084a1eaa86a
parent 8163bfed36e5bfaf4d9034d5e350b42d3fe15a56
Author: William Casarin <jb55@jb55.com>
Date: Thu, 10 Aug 2023 12:07:05 -0700
idhack: make sure json parser in continable after we parse the id
Diffstat:
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/jsmn.h b/jsmn.h
@@ -377,6 +377,7 @@ JSMN_API int jsmn_parse(jsmn_parser *parser, const char *js, const size_t len,
token = &tokens[parser->toknext-1];
if (idkey == 1 && (token->end - token->start) == 64) {
//printf("jsmn: found id '%.*s'\n", token->end - token->start, js + token->start);
+ parser->pos++;
return -42;
} else if (idkey == 0 && (token->end - token->start) == 2 &&
(js + token->start)[0] == 'i' &&
diff --git a/nostrdb.c b/nostrdb.c
@@ -703,13 +703,14 @@ static inline int ndb_json_parser_parse(struct ndb_json_parser *p,
case NDB_IDRES_STOP:
return -42;
}
- } else {
- p->num_tokens = res;
+ } else if (res == 0) {
+ return 0;
}
+ p->num_tokens = res;
p->i = 0;
- return p->num_tokens;
+ return 1;
}
static int cursor_push_unescaped_char(struct cursor *cur, char c1, char c2)