On 07/03/2016 22:46, Bruce Dawson wrote:
The config.h file in win32\VC10 is incompatible with VS 2015 because VS 2015 provides an implementation of snprintf and prohibits using the preprocessor to define it. Therefor an ifdef check is needed around that definition in VC10\config.h. Here is a patch that is compatible with the change that we made to Chromium's copy:diff --git a/win32/VC10/config.h b/win32/VC10/config.h index 8629944..891b57e 100644 --- a/win32/VC10/config.h +++ b/win32/VC10/config.h @@ -96,7 +96,9 @@ static int isnan (double d) { #if defined(_MSC_VER) #define mkdir(p,m) _mkdir(p) +#if _MSC_VER < 1900 // Cannot define this in VS 2015 and above! #define snprintf _snprintf +#endif #if _MSC_VER < 1500 #define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a) #endif It would be great to get that same patch in libxml2, and other developers will need it if they use VC10\config.h.
If you're at it, can you implement a better snprintf fallback for older MSVC versions? Here's the change I made to libxslt:
https://git.gnome.org/browse/libxslt/commit/?id=e75b5da121cdc67cb2303b1e2b77d5dd1cdf2784 For background information see: https://bugzilla.gnome.org/show_bug.cgi?id=756691 http://stackoverflow.com/a/8712996/1956010 Nick _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] https://mail.gnome.org/mailman/listinfo/xml
