From dca2535092c2a48a1b4aaaacbf68b978c08d535e Mon Sep 17 00:00:00 2001 From: Jeff Lawson Date: Sat, 30 Jul 2011 22:50:36 -0500 Subject: 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. --- src/yajl_gen.c | 3 +++ 1 file changed, 3 insertions(+) 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; -- cgit v1.2.1