Diff for /libelwix/src/json.c between versions 1.5 and 1.7

version 1.5, 2018/04/19 00:00:36 version 1.7, 2018/06/26 14:39:13
Line 505  json_token2dbl(const char *jstr, jtok_t * __restrict t Line 505  json_token2dbl(const char *jstr, jtok_t * __restrict t
 }  }
   
 /*  /*
    * json_token2bool() - Return token to bool int
    *
    * @jstr = JSON string
    * @tok = Token for convert
    * @return 0 for FALSE and !=0 for TRUE
    */
   int
   json_token2bool(const char *jstr, jtok_t * __restrict tok)
   {
           double ret = 0;
           char *str;
   
           str = json_token2str(jstr, tok);
           if (!str)
                   return 0;
   
           switch (*str) {
                   case 't':
                   case 'T':
                           ret = 1;
                           break;
                   case 'f':
                   case 'F':
                           ret = 0;
                           break;
                   default:
                           ret = (int) strtol(str, NULL, 10);
                           break;
           }
           e_free(str);
           return ret;
   }
   
   /*
  * json_findbykey() - Find token data by key   * json_findbykey() - Find token data by key
  *   *
  * @jstr = JSON string   * @jstr = JSON string
Line 983  json_add_pair(char * __restrict jstr, int jlen, int ws Line 1017  json_add_pair(char * __restrict jstr, int jlen, int ws
                 return -1;                  return -1;
         }          }
         if ((len = json_add_string(jstr, jlen, 0, val)) == -1) {          if ((len = json_add_string(jstr, jlen, 0, val)) == -1) {
                   jstr[eos] = 0;
                   return -1;
           }
   
           return len;
   }
   
   /*
    * json_add_pair2() - Adds key/value pair with formated args
    *
    * @jstr = JSON string
    * @jlen = JSON string length
    * @wspace = whitespace include
    * @key = Key string
    * @fmt = Format string for values
    * return: -1 error or !=-1 actual JSON string length
    */
   int
   json_add_pair2(char * __restrict jstr, int jlen, int wspace, const char *key, const char *fmt, ...)
   {
           int len = -1;
           size_t eos;
           va_list lst;
           char szStr[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 };
   
           if (!jstr || !key || !fmt)
                   return -1;
           else
                   eos = strlen(jstr);
   
           if (json_add_string(jstr, jlen, 0, key) == -1) {
                   jstr[eos] = 0;
                   return -1;
           }
           if (json_add_colon(jstr, jlen, wspace) == -1) {
                   jstr[eos] = 0;
                   return -1;
           }
           va_start(lst, fmt);
           vsnprintf(szStr, sizeof szStr, fmt, lst);
           va_end(lst);
           if ((len = json_add_string(jstr, jlen, 0, szStr)) == -1) {
                 jstr[eos] = 0;                  jstr[eos] = 0;
                 return -1;                  return -1;
         }          }

Removed from v.1.5  
changed lines
  Added in v.1.7


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