diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | json_object.c | 3 | ||||
-rw-r--r-- | json_tokener.c | 3 | ||||
-rw-r--r-- | json_tokener.h | 2 | ||||
-rw-r--r-- | json_util.c | 1 | ||||
-rw-r--r-- | test1.c | 1 | ||||
-rw-r--r-- | test2.c | 1 |
7 files changed, 11 insertions, 3 deletions
@@ -1,6 +1,9 @@ 0.8 * Add macros to enable compiling out debug code Geoffrey Young, geoff at modperlcookbook dot org + * Fix bug with use of capital E in numbers with exponents + Mateusz Loskot, mateusz at loskot dot net + * Add stddef.h include 0.7 * Add escaping of backslash to json output diff --git a/json_object.c b/json_object.c index a629f61..c1ffb0a 100644 --- a/json_object.c +++ b/json_object.c @@ -13,6 +13,7 @@ #include <stdio.h> #include <stdlib.h> +#include <stddef.h> #include <string.h> #include "debug.h" @@ -29,7 +30,7 @@ #define REFCOUNT_DEBUG 1 -char *json_number_chars = "0123456789.+-e"; +char *json_number_chars = "0123456789.+-eE"; char *json_hex_chars = "0123456789abcdef"; #ifdef REFCOUNT_DEBUG diff --git a/json_tokener.c b/json_tokener.c index ba329fe..c904f48 100644 --- a/json_tokener.c +++ b/json_tokener.c @@ -13,6 +13,7 @@ #include <stdio.h> #include <stdlib.h> +#include <stddef.h> #include <ctype.h> #include <string.h> @@ -378,7 +379,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok, case json_tokener_state_number: if(c && strchr(json_number_chars, c)) { printbuf_memappend(tok->pb, &c, 1); - if(c == '.' || c == 'e') tok->is_double = 1; + if(c == '.' || c == 'e' || c == 'E') tok->is_double = 1; } else { int numi; double numd; diff --git a/json_tokener.h b/json_tokener.h index d2c2127..2c7ea69 100644 --- a/json_tokener.h +++ b/json_tokener.h @@ -71,7 +71,7 @@ struct json_tokener char *str; struct printbuf *pb; int depth, is_double, st_pos, char_offset; - enum json_tokener_error err; + ptrdiff_t err; unsigned int ucs_char; char quote_char; struct json_tokener_srec stack[JSON_TOKENER_MAX_DEPTH]; diff --git a/json_util.c b/json_util.c index 903a694..1a65596 100644 --- a/json_util.c +++ b/json_util.c @@ -13,6 +13,7 @@ #include <stdio.h> #include <stdlib.h> +#include <stddef.h> #include <limits.h> #include <string.h> #include <errno.h> @@ -1,5 +1,6 @@ #include <stdio.h> #include <stdlib.h> +#include <stddef.h> #include <string.h> #include "json.h" @@ -1,5 +1,6 @@ #include <stdio.h> #include <stdlib.h> +#include <stddef.h> #include <string.h> #include "json.h" |