diff --git a/Foundation/include/Poco/Platform_WIN32.h b/Foundation/include/Poco/Platform_WIN32.h index 269a05f4b..0cd22b6cc 100644 --- a/Foundation/include/Poco/Platform_WIN32.h +++ b/Foundation/include/Poco/Platform_WIN32.h @@ -164,6 +164,12 @@ #elif (_MSC_VER >= 1800) && (_MSC_VER < 1900) // Visual Studio 2013, MSVC++ 12.0 #define POCO_MSVS_VERSION 2013 #define POCO_MSVC_VERSION 120 +#elif (_MSC_VER >= 1900) && (_MSC_VER < 1910) // Visual Studio 2015, MSVC++ 14.0 + #define POCO_MSVS_VERSION 2015 + #define POCO_MSVC_VERSION 140 +#elif (_MSC_VER >= 1910) && (_MSC_VER < 2000) // Visual Studio 2017, MSVC++ 14.1 + #define POCO_MSVS_VERSION 2017 + #define POCO_MSVC_VERSION 141 #endif diff --git a/JSON/src/pd_json.c b/JSON/src/pd_json.c index f372021b5..eb1808be8 100644 --- a/JSON/src/pd_json.c +++ b/JSON/src/pd_json.c @@ -8,15 +8,30 @@ #include #include "pd_json.h" +#if defined(_MSC_VER) && (_MSC_VER < 1900) + +#define json_error(json, format, ...) \ + if (!json->error) { \ + json->error = 1; \ + _snprintf_s(json->errmsg, sizeof(json->errmsg), _TRUNCATE, \ + "error: %lu: " format, \ + (unsigned long) json->lineno, \ + __VA_ARGS__); \ + } \ + +#else + #define json_error(json, format, ...) \ if (!json->error) { \ json->error = 1; \ - _snprintf(json->errmsg, sizeof(json->errmsg), \ + snprintf(json->errmsg, sizeof(json->errmsg), \ "error: %lu: " format, \ (unsigned long) json->lineno, \ __VA_ARGS__); \ } \ +#endif // POCO_MSVS_VERSION + #define STACK_INC 4 static enum json_type