]> git.proxmox.com Git - libgit2.git/commitdiff
Fix some deprecation warnings on Windows
authorRussell Belfer <rb@github.com>
Thu, 28 Feb 2013 22:41:26 +0000 (14:41 -0800)
committerRussell Belfer <rb@github.com>
Thu, 28 Feb 2013 22:41:26 +0000 (14:41 -0800)
This fixes some snprintf and vsnprintf related deprecation
warnings we've been having on Windows with recent compilers.

src/common.h
src/win32/msvc-compat.h
src/win32/posix_w32.c

index 48c4b5453b2b7a2db7fded7199b11527ea98339c..e3a9e19849bbde8ee694e88862b8bce289e95275 100644 (file)
 #      include "win32/pthread.h"
 #endif
 
-# define snprintf _snprintf
-
 #else
-# include <unistd.h>
 
+# include <unistd.h>
 # ifdef GIT_THREADS
 #      include <pthread.h>
 # endif
index df2111dc84034509651a1fe1ac77adb0223d00c4..50865ed175a209e01c7481ea66f7423cc4dec183 100644 (file)
 /* MSVC doesn't define ssize_t at all */
 typedef SSIZE_T ssize_t;
 
+/* define snprintf using variadic macro support if available */
+#if _MSC_VER >= 1400
+# define snprintf(BUF, SZ, FMT, ...) _snprintf_s(BUF, SZ, _TRUNCATE, FMT, __VA_ARGS__)
+#else
+# define snprintf _snprintf
+#endif
+
 #endif
 
 #define GIT_STDLIB_CALL __cdecl
index f533eaa5e6963f85cc8cf45b20d54d5fae3226fd..83b11ff4172fe599d3d06f097ee18b3ffc11c86e 100644 (file)
@@ -375,7 +375,8 @@ int p_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr)
 #ifdef _MSC_VER
        int len;
 
-       if (count == 0 || (len = _vsnprintf(buffer, count, format, argptr)) < 0)
+       if (count == 0 ||
+               (len = _vsnprintf_s(buffer, count, _TRUNCATE, format, argptr)) < 0)
                return _vscprintf(format, argptr);
 
        return len;