use_json_object_new_int64.patch 1009 B

123456789101112131415161718192021222324252627282930
  1. From 3af274ad9e230907a9b74f9cd9832bc1879bbaa8 Mon Sep 17 00:00:00 2001
  2. From: garypang13 <[email protected]>
  3. Date: Sun, 15 Nov 2020 17:31:03 +0800
  4. Subject: [PATCH] Update jsonc.c
  5. ---
  6. libs/luci-lib-jsonc/src/jsonc.c | 10 ++++------
  7. 1 file changed, 4 insertions(+), 6 deletions(-)
  8. diff --git a/libs/luci-lib-jsonc/src/jsonc.c b/libs/luci-lib-jsonc/src/jsonc.c
  9. index 2f56a4a688..aedd082d71 100644
  10. --- a/package/feeds/luci/luci-lib-jsonc/src/jsonc.c
  11. +++ b/package/feeds/luci/luci-lib-jsonc/src/jsonc.c
  12. @@ -365,12 +365,10 @@ static struct json_object * _lua_to_json_rec(lua_State *L, int index,
  13. case LUA_TNUMBER:
  14. nd = lua_tonumber(L, index);
  15. - ni = lua_tointeger(L, index);
  16. -
  17. - if (nd == ni)
  18. - return json_object_new_int(nd);
  19. -
  20. - return json_object_new_double(nd);
  21. + if(nd >= INT64_MIN && nd <= INT64_MAX)
  22. + return json_object_new_int64(nd);
  23. + else
  24. + return json_object_new_double(nd);
  25. case LUA_TSTRING:
  26. return json_object_new_string(lua_tostring(L, index));