summaryrefslogtreecommitdiff
path: root/json_tokener.c
diff options
context:
space:
mode:
authorEric Haszlakiewicz <erh+git@nimenees.com>2013-09-11 20:27:39 -0500
committerEric Haszlakiewicz <erh+git@nimenees.com>2013-09-11 20:27:39 -0500
commit51993c28c2721b00340e1ddbd9bb133fdedf1bf4 (patch)
treee18192800a28eae1aaafb36648a3320d37e07ff5 /json_tokener.c
parentb83e0f11826e86747885fc066fa5b06d50f60520 (diff)
downloadjson-c-51993c28c2721b00340e1ddbd9bb133fdedf1bf4.tar.gz
Added a json_object_new_double_s() convenience function to allow an exact string representation of a double to be specified when creating the object and use it in json_tokener_parse_ex() so a re-serialized object more exactly matches the input.
Add json_object_free_userdata() and json_object_userdata_to_json_string() too.
Diffstat (limited to 'json_tokener.c')
-rw-r--r--json_tokener.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/json_tokener.c b/json_tokener.c
index 7e1fb68..a2a598b 100644
--- a/json_tokener.c
+++ b/json_tokener.c
@@ -599,8 +599,10 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
goto out;
}
current = json_object_new_int64(num64);
- } else if(tok->is_double && json_parse_double(tok->pb->buf, &numd) == 0) {
- current = json_object_new_double(numd);
+ }
+ else if(tok->is_double && json_parse_double(tok->pb->buf, &numd) == 0)
+ {
+ current = json_object_new_double_s(numd, tok->pb->buf);
} else {
tok->err = json_tokener_error_parse_number;
goto out;