try to fix cjson.encode in integer only version

This commit is contained in:
funshine 2015-03-18 17:01:01 +08:00
parent a61cbfb238
commit 3aead6d230
1 changed files with 4 additions and 9 deletions

View File

@ -45,13 +45,10 @@
#include "flash_api.h"
#include "strbuf.h"
#ifdef LUA_NUMBER_INTEGRAL
#include "fpconv.h"
#else
#define FPCONV_G_FMT_BUFSIZE 32
#define fpconv_strtod c_strtod
#define fpconv_init() ((void)0)
#endif
#ifndef CJSON_MODNAME
#define CJSON_MODNAME "cjson"
@ -774,12 +771,10 @@ static void json_append_number(lua_State *l, json_config_t *cfg,
}
strbuf_ensure_empty_length(json, FPCONV_G_FMT_BUFSIZE);
#ifdef LUA_NUMBER_INTEGRAL
len = fpconv_g_fmt(strbuf_empty_ptr(json), num, cfg->encode_number_precision);
#else
c_sprintf(strbuf_empty_ptr(json), "%.14g", num);
// len = fpconv_g_fmt(strbuf_empty_ptr(json), num, cfg->encode_number_precision);
c_sprintf(strbuf_empty_ptr(json), LUA_NUMBER_FMT, num);
len = c_strlen(strbuf_empty_ptr(json));
#endif
strbuf_extend_length(json, len);
}