MSVs have not implemented va_copy. remove va_copy at MSVC environment. It will malloc buffer each time. Signed-off-by: Frank Li <lznuaa@xxxxxxxxx> --- compat/winansi.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/compat/winansi.c b/compat/winansi.c index 9217c24..6091138 100644 --- a/compat/winansi.c +++ b/compat/winansi.c @@ -3,7 +3,11 @@ */ #include <windows.h> +#ifdef _MSC_VER +#include <stdio.h> +#else #include "../git-compat-util.h" +#endif /* Functions to be wrapped: @@ -310,9 +314,13 @@ static int winansi_vfprintf(FILE *stream, const char *format, va_list list) if (!console) goto abort; +#ifndef _MSC_VER va_copy(cp, list); len = vsnprintf(small_buf, sizeof(small_buf), format, cp); va_end(cp); +#else + len= sizeof(small_buf) ; +#endif if (len > sizeof(small_buf) - 1) { buf = malloc(len + 1); -- 1.6.4.msysgit.0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html