diff options
| author | spacewander <spacewanderlzx@gmail.com> | 2017-01-31 13:09:55 +0800 |
|---|---|---|
| committer | Yichun Zhang (agentzh) <agentzh@gmail.com> | 2017-01-31 12:17:37 -0800 |
| commit | fd35fd98035735bc91c55d14832461e41dd0e193 (patch) | |
| tree | 364d8e04b07fdb7390e76629afd2e7ccaff2cacd /lua | |
| parent | a61d7840ba2d79df8cb73d8c864a99d0eb06d580 (diff) | |
| download | lua-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.rockspec | 2 | ||||
| -rw-r--r-- | lua_cjson.c | 10 |
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))) |
