diff options
author | Jeff Lawson <jeff.lawson@flightaware.com> | 2011-07-30 22:50:36 -0500 |
---|---|---|
committer | Jeff Lawson <jeff.lawson@flightaware.com> | 2011-07-30 22:50:36 -0500 |
commit | dca2535092c2a48a1b4aaaacbf68b978c08d535e (patch) | |
tree | 62f777ba3c174a7807e0f9ad44fa4b3da04d47c3 | |
parent | e2d080612f566205d16a65fdad05618f92774d4c (diff) | |
download | yajl-dca2535092c2a48a1b4aaaacbf68b978c08d535e.tar.gz |
update yajl_gen_double to enforce that serialized double values always contain a decimal point, even if no digits follow the point. this prevents some readers from parsing such values as an integer.
-rw-r--r-- | src/yajl_gen.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/yajl_gen.c b/src/yajl_gen.c index 8605982..2bb6ad2 100644 --- a/src/yajl_gen.c +++ b/src/yajl_gen.c @@ -222,6 +222,9 @@ yajl_gen_double(yajl_gen g, double number) if (isnan(number) || isinf(number)) return yajl_gen_invalid_number; INSERT_SEP; INSERT_WHITESPACE; sprintf(i, "%.20g", number); + if (strspn(i, "0123456789-") == strlen(i)) { + strcat(i, ".0"); + } g->print(g->ctx, i, (unsigned int)strlen(i)); APPENDED_ATOM; FINAL_NEWLINE; |