|
|
| version 1.7.12.1, 2019/01/31 22:19:46 | version 1.9.34.1, 2024/10/26 14:55:56 |
|---|---|
| Line 427 json_token2val(const char *jstr, jtok_t * __restrict t | Line 427 json_token2val(const char *jstr, jtok_t * __restrict t |
| return NULL; | return NULL; |
| AIT_SET_STRSIZ(v, json_toklen(tok)); | AIT_SET_STRSIZ(v, json_toklen(tok)); |
| strncpy(AIT_GET_STR(v), json_tokstr(jstr, tok), AIT_LEN(v) - 1); | if (AIT_GET_STR(v)) |
| strncpy(AIT_GET_STR(v), json_tokstr(jstr, tok), AIT_LEN(v) - 1); | |
| else | |
| ait_freeVar(&v); | |
| return v; | return v; |
| } | } |
| Line 442 json_token2val(const char *jstr, jtok_t * __restrict t | Line 445 json_token2val(const char *jstr, jtok_t * __restrict t |
| char * | char * |
| json_token2str(const char *jstr, jtok_t * __restrict tok) | json_token2str(const char *jstr, jtok_t * __restrict tok) |
| { | { |
| char *str = NULL; | char *s, *s2, *wrk, *str = NULL; |
| size_t len; | size_t len; |
| if (!jstr || !tok) | if (!jstr || !tok) |
| return NULL; | return NULL; |
| len = json_toklen(tok); | len = json_toklen(tok); |
| str = e_malloc(len + 1); | str = e_malloc(len + 1); |
| if (!str) | if (!str) |
| return NULL; | return NULL; |
| else { | else { |
| strncpy(str, json_tokstr(jstr, tok), len); | memset(str, 0, len + 1); |
| str[len] = 0; | |
| wrk = e_strdup(json_tokstr(jstr, tok)); | |
| wrk[len] = 0; | |
| for (s = wrk, s2 = str; *s; s++) | |
| *s2++ = (*s != '\\') ? *s : *++s; | |
| e_free(wrk); | |
| } | } |
| return str; | return str; |
| Line 561 json_findbykey(const char *jstr, const char *key, jtyp | Line 570 json_findbykey(const char *jstr, const char *key, jtyp |
| klen = strlen(key); | klen = strlen(key); |
| for (i = 1; i < toksnum; i++) { | for (i = 1; i < toksnum; i++) { |
| if (toks[i].tok_type == J_STRING && | if (toks[i].tok_type == J_STRING && toks[i].tok_size == 1 && |
| klen == toks[i].tok_end - toks[i].tok_start && | klen == toks[i].tok_end - toks[i].tok_start && |
| !strncmp(jstr + toks[i].tok_start, key, klen)) { | !strncmp(jstr + toks[i].tok_start, key, klen)) { |
| if (type != J_UNDEF) { | if (type != J_UNDEF) { |