summaryrefslogtreecommitdiff
path: root/compat/snprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'compat/snprintf.c')
-rw-r--r--compat/snprintf.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/compat/snprintf.c b/compat/snprintf.c
index 357e733074..4d07087abd 100644
--- a/compat/snprintf.c
+++ b/compat/snprintf.c
@@ -3,11 +3,16 @@
/*
* The size parameter specifies the available space, i.e. includes
* the trailing NUL byte; but Windows's vsnprintf expects the
- * number of characters to write without the trailing NUL.
+ * number of characters to write, and does not necessarily write the
+ * trailing NUL.
*/
#ifndef SNPRINTF_SIZE_CORR
+#if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ < 4
+#define SNPRINTF_SIZE_CORR 1
+#else
#define SNPRINTF_SIZE_CORR 0
#endif
+#endif
#undef vsnprintf
int git_vsnprintf(char *str, size_t maxsize, const char *format, va_list ap)