]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/dist: use vfprintf on Windows, same as on Unix
authorRuss Cox <rsc@golang.org>
Wed, 5 Mar 2014 19:16:30 +0000 (14:16 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 5 Mar 2014 19:16:30 +0000 (14:16 -0500)
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

src/cmd/dist/windows.c

index 7d03989b27840902390059d8542f74da3d528790..2839c4bc5171efd69328ced26c763a086ff8419c 100644 (file)
@@ -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