Diff for /libelwix/src/json.c between versions 1.9.34.2 and 1.9.34.3

version 1.9.34.2, 2024/10/26 14:56:14 version 1.9.34.3, 2024/10/27 03:57:34
Line 602  json_findbypos(u_long pos, jtok_t * __restrict toks, i Line 602  json_findbypos(u_long pos, jtok_t * __restrict toks, i
         jtok_t *tok = NULL;          jtok_t *tok = NULL;
         register int i;          register int i;
   
        if (toks)        if (!toks)
                 return NULL;                  return NULL;
   
         for (i = 1; i < toksnum; i++)          for (i = 1; i < toksnum; i++)
Line 645  json_token2array(const char *jstr, jtok_t * __restrict Line 645  json_token2array(const char *jstr, jtok_t * __restrict
         if (tok->tok_type == J_STRING || tok->tok_type == J_VALUE) {          if (tok->tok_type == J_STRING || tok->tok_type == J_VALUE) {
                 v = ait_getVars(&arr, 0);                  v = ait_getVars(&arr, 0);
                 AIT_SET_STRSIZ(v, json_toklen(tok) + 1);                  AIT_SET_STRSIZ(v, json_toklen(tok) + 1);
                json_tokstrcpy(AIT_GET_STR(v), jstr, tok);                if (AIT_GET_STR(v)) {
                         json_tokstrcpy(AIT_GET_STR(v), jstr, tok);
                 } else {
                         ait_freeVar(&v);
                 }
         } else if (tok->tok_type == J_ARRAY) {          } else if (tok->tok_type == J_ARRAY) {
                 for (i = 0, j = 1; i < tok->tok_size; i++) {                  for (i = 0, j = 1; i < tok->tok_size; i++) {
                         t = &tok[i + j];                          t = &tok[i + j];
                         v = ait_getVars(&arr, i);                          v = ait_getVars(&arr, i);
                         AIT_SET_STRSIZ(v, json_toklen(t) + 1);                          AIT_SET_STRSIZ(v, json_toklen(t) + 1);
                        json_tokstrcpy(AIT_GET_STR(v), jstr, t);                        if (AIT_GET_STR(v)) {
                                 json_tokstrcpy(AIT_GET_STR(v), jstr, t);
                         } else {
                                 ait_freeVar(&v);
                         }
   
                         /* if there we have array from objects should parse all object tokens */                          /* if there we have array from objects should parse all object tokens */
                         while (i < tok->tok_size - 1 && tok->tok_idx != tok[i + j + 1].tok_parent)                          while (i < tok->tok_size - 1 && tok->tok_idx != tok[i + j + 1].tok_parent)
Line 662  json_token2array(const char *jstr, jtok_t * __restrict Line 670  json_token2array(const char *jstr, jtok_t * __restrict
                         t = &tok[i + 1];                          t = &tok[i + 1];
                         v = ait_getVars(&arr, i);                          v = ait_getVars(&arr, i);
                         AIT_SET_STRSIZ(v, json_toklen(t) + 1);                          AIT_SET_STRSIZ(v, json_toklen(t) + 1);
                        json_tokstrcpy(AIT_GET_STR(v), jstr, t);                        if (AIT_GET_STR(v)) {
                                 json_tokstrcpy(AIT_GET_STR(v), jstr, t);
                         } else {
                                 ait_freeVar(&v);
                         }
                 }                  }
         } else {          } else {
                 elwix_SetErr(J_ERR_PARAM, "%s", jerrstr[J_ERR_PARAM]);                  elwix_SetErr(J_ERR_PARAM, "%s", jerrstr[J_ERR_PARAM]);
Line 1144  json_dump_yaml(FILE *f, const char *jstr, jtok_t *toks Line 1156  json_dump_yaml(FILE *f, const char *jstr, jtok_t *toks
 {  {
         register int i, j, k;          register int i, j, k;
   
        if (!toksnum)        if (!toksnum || !toks)
                 return 0;                  return 0;
   
         if (toks->tok_type == J_VALUE) {          if (toks->tok_type == J_VALUE) {

Removed from v.1.9.34.2  
changed lines
  Added in v.1.9.34.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>