aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorspacewander <spacewanderlzx@gmail.com>2017-01-31 13:09:55 +0800
committerYichun Zhang (agentzh) <agentzh@gmail.com>2017-01-31 12:17:37 -0800
commitfd35fd98035735bc91c55d14832461e41dd0e193 (patch)
tree364d8e04b07fdb7390e76629afd2e7ccaff2cacd /lua
parenta61d7840ba2d79df8cb73d8c864a99d0eb06d580 (diff)
downloadlua-cjson-fd35fd98035735bc91c55d14832461e41dd0e193.tar.gz
lua-cjson-fd35fd98035735bc91c55d14832461e41dd0e193.tar.bz2
lua-cjson-fd35fd98035735bc91c55d14832461e41dd0e193.zip
feature: supports MS C compiler older than VC2012.
Signed-off-by: Yichun Zhang (agentzh) <agentzh@gmail.com>
Diffstat (limited to '')
-rw-r--r--lua-cjson-2.1devel-1.rockspec2
-rw-r--r--lua_cjson.c10
2 files changed, 11 insertions, 1 deletions
diff --git a/lua-cjson-2.1devel-1.rockspec b/lua-cjson-2.1devel-1.rockspec
index 154e333..d614d05 100644
--- a/lua-cjson-2.1devel-1.rockspec
+++ b/lua-cjson-2.1devel-1.rockspec
@@ -47,7 +47,7 @@ build = {
47 -- Override default build options (per platform) 47 -- Override default build options (per platform)
48 platforms = { 48 platforms = {
49 win32 = { modules = { cjson = { defines = { 49 win32 = { modules = { cjson = { defines = {
50 "DISABLE_INVALID_NUMBERS" 50 "DISABLE_INVALID_NUMBERS", "USE_INTERNAL_ISINF"
51 } } } } 51 } } } }
52 }, 52 },
53 copy_directories = { "tests" } 53 copy_directories = { "tests" }
diff --git a/lua_cjson.c b/lua_cjson.c
index 1695979..89cba6d 100644
--- a/lua_cjson.c
+++ b/lua_cjson.c
@@ -54,6 +54,16 @@
54#define CJSON_VERSION "2.1devel" 54#define CJSON_VERSION "2.1devel"
55#endif 55#endif
56 56
57#ifdef _MSC_VER
58#define snprintf sprintf_s
59
60#ifndef isnan
61#include <float.h>
62#define isnan(x) _isnan(x)
63#endif
64
65#endif
66
57/* Workaround for Solaris platforms missing isinf() */ 67/* Workaround for Solaris platforms missing isinf() */
58#if !defined(isinf) && (defined(USE_INTERNAL_ISINF) || defined(MISSING_ISINF)) 68#if !defined(isinf) && (defined(USE_INTERNAL_ISINF) || defined(MISSING_ISINF))
59#define isinf(x) (!isnan(x) && isnan((x) - (x))) 69#define isinf(x) (!isnan(x) && isnan((x) - (x)))