diff options
Diffstat (limited to 'src/yajl_gen.c')
-rw-r--r-- | src/yajl_gen.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/yajl_gen.c b/src/yajl_gen.c index 8605982..f36da2a 100644 --- a/src/yajl_gen.c +++ b/src/yajl_gen.c @@ -57,6 +57,7 @@ yajl_gen_config(yajl_gen g, yajl_gen_option opt, ...) switch(opt) { case yajl_gen_beautify: case yajl_gen_validate_utf8: + case yajl_gen_escape_solidus: if (va_arg(ap, int)) g->flags |= opt; else g->flags &= ~opt; break; @@ -222,6 +223,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; |