diff options
Diffstat (limited to '')
| -rw-r--r-- | fpconv.c | 6 | ||||
| -rw-r--r-- | lua-cjson-2.1devel-1.rockspec | 2 | ||||
| -rw-r--r-- | lua_cjson.c | 10 | ||||
| -rw-r--r-- | strbuf.h | 5 |
4 files changed, 22 insertions, 1 deletions
| @@ -35,6 +35,12 @@ | |||
| 35 | 35 | ||
| 36 | #include "fpconv.h" | 36 | #include "fpconv.h" |
| 37 | 37 | ||
| 38 | /* Workaround for MSVC */ | ||
| 39 | #ifdef _MSC_VER | ||
| 40 | #define inline __inline | ||
| 41 | #define snprintf sprintf_s | ||
| 42 | #endif | ||
| 43 | |||
| 38 | /* Lua CJSON assumes the locale is the same for all threads within a | 44 | /* Lua CJSON assumes the locale is the same for all threads within a |
| 39 | * process and doesn't change after initialisation. | 45 | * process and doesn't change after initialisation. |
| 40 | * | 46 | * |
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))) |
| @@ -25,6 +25,11 @@ | |||
| 25 | #include <stdlib.h> | 25 | #include <stdlib.h> |
| 26 | #include <stdarg.h> | 26 | #include <stdarg.h> |
| 27 | 27 | ||
| 28 | /* Workaround for MSVC */ | ||
| 29 | #ifdef _MSC_VER | ||
| 30 | #define inline __inline | ||
| 31 | #endif | ||
| 32 | |||
| 28 | /* Size: Total bytes allocated to *buf | 33 | /* Size: Total bytes allocated to *buf |
| 29 | * Length: String length, excluding optional NULL terminator. | 34 | * Length: String length, excluding optional NULL terminator. |
| 30 | * Increment: Allocation increments when resizing the string buffer. | 35 | * Increment: Allocation increments when resizing the string buffer. |
