fix swprintf handling of nul character in output
[musl] / src / stdio / stdout.c
index bf6eea6..4985a41 100644 (file)
@@ -1,17 +1,18 @@
 #include "stdio_impl.h"
 
+#undef stdout
+
 static unsigned char buf[BUFSIZ+UNGET];
-static FILE f = {
+hidden FILE __stdout_FILE = {
        .buf = buf+UNGET,
        .buf_size = sizeof buf-UNGET,
        .fd = 1,
        .flags = F_PERM | F_NORD,
        .lbf = '\n',
-       .write = __stdio_write,
+       .write = __stdout_write,
        .seek = __stdio_seek,
        .close = __stdio_close,
+       .lock = -1,
 };
-FILE *const stdout = &f;
-
-/* overrides symbol in fflush.c, used for flushing NULL */
-FILE *const __stdout_to_flush = &f;
+FILE *const stdout = &__stdout_FILE;
+FILE *volatile __stdout_used = &__stdout_FILE;