summaryrefslogtreecommitdiff
path: root/src/win32
diff options
context:
space:
mode:
Diffstat (limited to 'src/win32')
-rw-r--r--src/win32/msvc-compat.h7
-rw-r--r--src/win32/posix_w32.c14
2 files changed, 11 insertions, 10 deletions
diff --git a/src/win32/msvc-compat.h b/src/win32/msvc-compat.h
index efbc8ee37..4789d63df 100644
--- a/src/win32/msvc-compat.h
+++ b/src/win32/msvc-compat.h
@@ -15,13 +15,6 @@
typedef unsigned short mode_t;
typedef SSIZE_T ssize_t;
-/* define snprintf using variadic macro support if available */
-#if _MSC_VER >= 1500
-# define snprintf(BUF, SZ, FMT, ...) _snprintf_s(BUF, SZ, _TRUNCATE, FMT, __VA_ARGS__)
-#else
-# define snprintf _snprintf
-#endif
-
#endif
#define GIT_STDLIB_CALL __cdecl
diff --git a/src/win32/posix_w32.c b/src/win32/posix_w32.c
index 7df8100ca..0023f95ff 100644
--- a/src/win32/posix_w32.c
+++ b/src/win32/posix_w32.c
@@ -564,11 +564,19 @@ char *p_realpath(const char *orig_path, char *buffer)
int p_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr)
{
-#if defined(_MSC_VER) && _MSC_VER >= 1500
+#if defined(_MSC_VER)
int len;
- if (count == 0 ||
- (len = _vsnprintf_s(buffer, count, _TRUNCATE, format, argptr)) < 0)
+ if (count == 0)
+ return _vscprintf(format, argptr);
+
+ #if _MSC_VER >= 1500
+ len = _vsnprintf_s(buffer, count, _TRUNCATE, format, argptr);
+ #else
+ len = _vsnprintf(buffer, count, format, argptr);
+ #endif
+
+ if (len < 0)
return _vscprintf(format, argptr);
return len;