Diff for /libelwix/src/json.c between versions 1.12.2.2 and 1.13.20.1

version 1.12.2.2, 2025/08/25 12:44:59 version 1.13.20.1, 2026/03/31 15:25:23
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 - 2025Copyright 2004 - 2026
         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 436  json_token2val(const char *jstr, jtok_t * __restrict t Line 436  json_token2val(const char *jstr, jtok_t * __restrict t
 }  }
   
 /*  /*
    * json_token2rstr() - Return token to raw string
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * @return =NULL error or !=NULL allocated str, after use should be json_freestr()|e_free()
    */
   char *
   json_token2rstr(const char *jstr, jtok_t * __restrict tok)
   {
           char *str = NULL;
           size_t len;
   
           if (!jstr || !tok)
                   return NULL;
   
           len = json_toklen(tok);
           str = e_malloc(len + 1);
           if (!str)
                   return NULL;
           else {
                   memcpy(str, json_tokstr(jstr, tok), len);
                   str[len] = 0;
           }
   
           return str;
   }
   
   /*
  * json_token2str() - Return token to string   * json_token2str() - Return token to string
  *   *
  * @jstr = JSON string   * @jstr = JSON string
Line 482  json_token2num(const char *jstr, jtok_t * __restrict t Line 510  json_token2num(const char *jstr, jtok_t * __restrict t
         long ret = 0;          long ret = 0;
         char *str;          char *str;
   
        str = json_token2str(jstr, tok);        str = json_token2rstr(jstr, tok);
         if (!str)          if (!str)
                 return 0;                  return 0;
   
Line 504  json_token2dbl(const char *jstr, jtok_t * __restrict t Line 532  json_token2dbl(const char *jstr, jtok_t * __restrict t
         double ret = 0;          double ret = 0;
         char *str;          char *str;
   
        str = json_token2str(jstr, tok);        str = json_token2rstr(jstr, tok);
         if (!str)          if (!str)
                 return 0;                  return 0;
   
Line 526  json_token2bool(const char *jstr, jtok_t * __restrict  Line 554  json_token2bool(const char *jstr, jtok_t * __restrict 
         double ret = 0;          double ret = 0;
         char *str;          char *str;
   
        str = json_token2str(jstr, tok);        str = json_token2rstr(jstr, tok);
         if (!str)          if (!str)
                 return 0;                  return 0;
   
Line 809  json_token2array(const char *jstr, jtok_t * __restrict Line 837  json_token2array(const char *jstr, jtok_t * __restrict
         }          }
   
         return arr;          return arr;
   }
   
   /*
    * json_freearray() - Free & destroy allocated array from json_token2array function
    *
    * @parr = Array
    * return -1 error or 0 ok
    */
   int
   json_freearray(array_t **parr)
   {
           if (!parr)
                   return -1;
   
           array_Free(*parr);
           array_Destroy(parr);
           return 0;
 }  }
   
   

Removed from v.1.12.2.2  
changed lines
  Added in v.1.13.20.1


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