From: Russ Cox Date: Wed, 5 Mar 2014 19:16:30 +0000 (-0500) Subject: cmd/dist: use vfprintf on Windows, same as on Unix X-Git-Tag: go1.3beta1~469 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3f1374fcf8ae8b76679010d649a7b444772f9642;p=gostls13.git cmd/dist: use vfprintf on Windows, same as on Unix Apparently, the Windows routines sometimes fail to generate output. Copy the Unix stdio-based implementations instead. Suggested by Pietro Gagliardi in CL 65280043 but that CL seems to have been abandoned. Fixes #7242. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/71550044 --- diff --git a/src/cmd/dist/windows.c b/src/cmd/dist/windows.c index 7d03989b27..2839c4bc51 100644 --- a/src/cmd/dist/windows.c +++ b/src/cmd/dist/windows.c @@ -840,34 +840,20 @@ void xprintf(char *fmt, ...) { va_list arg; - char *p; - DWORD n, w; - + va_start(arg, fmt); - n = vsnprintf(NULL, 0, fmt, arg); - p = xmalloc(n+1); - vsnprintf(p, n+1, fmt, arg); + vprintf(fmt, arg); va_end(arg); - w = 0; - WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), p, n, &w, 0); - xfree(p); } void errprintf(char *fmt, ...) { va_list arg; - char *p; - DWORD n, w; - + va_start(arg, fmt); - n = vsnprintf(NULL, 0, fmt, arg); - p = xmalloc(n+1); - vsnprintf(p, n+1, fmt, arg); + vfprintf(stderr, fmt, arg); va_end(arg); - w = 0; - WriteFile(GetStdHandle(STD_ERROR_HANDLE), p, n, &w, 0); - xfree(p); } int