summaryrefslogtreecommitdiff
path: root/lua_cjson.c
diff options
context:
space:
mode:
Diffstat (limited to 'lua_cjson.c')
-rw-r--r--lua_cjson.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/lua_cjson.c b/lua_cjson.c
index 1226e71..806a67c 100644
--- a/lua_cjson.c
+++ b/lua_cjson.c
@@ -623,12 +623,17 @@ static void json_append_number(lua_State *l, strbuf_t *json, int index,
623 if (cfg->encode_refuse_badnum && (isinf(num) || isnan(num))) 623 if (cfg->encode_refuse_badnum && (isinf(num) || isnan(num)))
624 json_encode_exception(l, cfg, index, "must not be NaN or Inf"); 624 json_encode_exception(l, cfg, index, "must not be NaN or Inf");
625 625
626 /* Lowest double printed with %.14g is 21 characters long: 626 if (isnan(num)) {
627 * -1.7976931348623e+308 627 /* Some platforms may print -nan, just hard code it */
628 * 628 strbuf_append_mem(json, "nan", 3);
629 * Use 32 to include the \0, and a few extra just in case.. 629 } else {
630 */ 630 /* Lowest double printed with %.14g is 21 characters long:
631 strbuf_append_fmt(json, 32, cfg->number_fmt, num); 631 * -1.7976931348623e+308
632 *
633 * Use 32 to include the \0, and a few extra just in case..
634 */
635 strbuf_append_fmt(json, 32, cfg->number_fmt, num);
636 }
632} 637}
633 638
634static void json_append_object(lua_State *l, json_config_t *cfg, 639static void json_append_object(lua_State *l, json_config_t *cfg,