Merge pull request #252 from OlehKulykov/master

Buildable with MS Compiler version  >= 1900
This commit is contained in:
Petri Lehtinen 2015-09-01 21:13:25 +03:00
commit db0213ae56
2 changed files with 27 additions and 3 deletions

View File

@ -49,6 +49,20 @@
#cmakedefine HAVE_SNPRINTF 1
/* snprintf should not be defined as macro with MSC_VER >= 1900 */
#if defined(_WIN32) || defined(WIN32)
# if defined(_MSC_VER) /* MS compiller */
# if (_MSC_VER < 1900) /* snprintf not introduced */
# if !defined(snprintf)
# define snprintf _snprintf
# define HAVE_SNPRINTF 1 /* snprintf defined manually */
# endif
# else
# define HAVE_SNPRINTF 1 /* snprintf available via sdk */
# endif
# endif
#endif
#ifndef HAVE_SNPRINTF
# define snprintf @JSON_SNPRINTF@
#endif

View File

@ -90,10 +90,20 @@ char *jsonp_strndup(const char *str, size_t length);
char *jsonp_strdup(const char *str);
char *jsonp_strndup(const char *str, size_t len);
/* Windows compatibility */
#ifdef _WIN32
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#if defined(_WIN32) || defined(WIN32)
# if defined(_MSC_VER) /* MS compiller */
# if (_MSC_VER < 1900) && !defined(snprintf) /* snprintf not defined yet & not introduced */
# define snprintf _snprintf
# endif
# if (_MSC_VER < 1500) && !defined(vsnprintf) /* vsnprintf not defined yet & not introduced */
# define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
# endif
# else /* Other Windows compiller, old definition */
# define snprintf _snprintf
# define vsnprintf _vsnprintf
# endif
#endif
#endif