Diff for /libelwix/src/json.c between versions 1.11 and 1.11.2.1

version 1.11, 2024/12/04 17:47:28 version 1.11.2.1, 2025/08/21 15:40:07
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004 - 2024Copyright 2004 - 2025
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 597  json_findbykey(const char *jstr, const char *key, jtyp Line 597  json_findbykey(const char *jstr, const char *key, jtyp
  * @type = Search key for particular token type, if is J_UNDEF this mean any type   * @type = Search key for particular token type, if is J_UNDEF this mean any type
  * @toks = Parsed tokens   * @toks = Parsed tokens
  * @toksnum = Number of parsed tokens   * @toksnum = Number of parsed tokens
 * return: =NULL error or !=NULL data token found  * return: =NULL error or !=NULL data token found
  */   */
 jtok_t *  jtok_t *
 json_findbykeyatscope(long scope, const char *jstr, const char *key, jtype_t type, jtok_t * __restrict toks, int toksnum)  json_findbykeyatscope(long scope, const char *jstr, const char *key, jtype_t type, jtok_t * __restrict toks, int toksnum)
Line 1325  json_objscope(const char *key, const char *jstr, jtok_ Line 1325  json_objscope(const char *key, const char *jstr, jtok_
                         }                          }
   
         return scope;          return scope;
   }
   
   /*
    * json_validate() - Validate JSON
    *
    * @jstr = JSON string
    * return: -1 error or >=0 where valid JSON ends
    */
   int
   json_validate(const char *jstr)
   {
           register int o = 0, a = 0, s = 0, pos = 0;
   
           while (isspace(jstr[pos]) || jstr[pos] != '{') {
                   pos++;
                   s++;
           }
   
           do {
                   switch (jstr[pos++]) {
                           case '{':
                                   o++;
                                   break;
                           case '}':
                                   o--;
                                   break;
                           case '[':
                                   a++;
                                   break;
                           case ']':
                                   a--;
                                   break;
                           case 0: /* string ends without valid JSON */
                                   return 0;
                   }
           } while (a || o);
   
           return pos;
 }  }

Removed from v.1.11  
changed lines
  Added in v.1.11.2.1


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