Browse Source

Merge pull request #461 from andy5995/issue_422

json_object.c:set errno in json_object_get_double()
tags/json-c-0.14-20200419
Eric Haszlakiewicz GitHub 6 years ago
parent
commit
745cadc944
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions
  1. +9
    -2
      json_object.c
  2. +1
    -1
      json_tokener.h

+ 9
- 2
json_object.c View File

@@ -951,7 +951,10 @@ double json_object_get_double(const struct json_object *jso)

/* if conversion stopped at the first character, return 0.0 */
if (errPtr == get_string_component(jso))
return 0.0;
{
errno = EINVAL;
return 0.0;
}

/*
* Check that the conversion terminated on something sensible
@@ -959,7 +962,10 @@ double json_object_get_double(const struct json_object *jso)
* For example, { "pay" : 123AB } would parse as 123.
*/
if (*errPtr != '\0')
return 0.0;
{
errno = EINVAL;
return 0.0;
}

/*
* If strtod encounters a string which would exceed the
@@ -977,6 +983,7 @@ double json_object_get_double(const struct json_object *jso)
cdouble = 0.0;
return cdouble;
default:
errno = EINVAL;
return 0.0;
}
}


+ 1
- 1
json_tokener.h View File

@@ -122,7 +122,7 @@ const char *json_tokener_error_desc(enum json_tokener_error jerr);
* When parsing a JSON string in pieces, if the tokener is in the middle
* of parsing this will return json_tokener_continue.
*
* See also json_tokener_error_desc().
* @see json_tokener_error_desc().
*/
JSON_EXPORT enum json_tokener_error json_tokener_get_error(struct json_tokener *tok);



Loading…
Cancel
Save