]> git.pond.sub.org Git - empserver/commitdiff
Document Windows lossage and work-around.
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 1 Jul 2005 19:52:43 +0000 (19:52 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 1 Jul 2005 19:52:43 +0000 (19:52 +0000)
src/client/main.c

index 7c84182363df7fdad7df6a42ac5ea7507e14be45..a59f286b3bdc9a80026346f83d372fa0e68d4907 100644 (file)
@@ -109,6 +109,14 @@ main(int ac, char **av)
     int utf8 = 0;
 
 #ifdef _WIN32
+    /*
+     * stdout is unbuffered under Windows if connected to a character
+     * device, and putchar() screws up when printing multibyte strings
+     * bytewise to an unbuffered stream.  Switch stdout to line-
+     * buffered mode.  Unfortunately, ISO C allows implementations to
+     * screw that up, and of course Windows does.  Manual flushing
+     * after each prompt is required.
+     */
     setvbuf(stdout, NULL, _IOLBF, 4096);
     err = WSAStartup(0x0101, &WsaData);
     if (err == SOCKET_ERROR) {