Skip to contentSkip to conversation

Work around stdio redirection by SDL on Windows

PATCH In review Sebastian Herbszt 2 participants 3 messages Aug 9, 2009

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Work around stdio redirection by SDL on Windows

Work around no longer working console output with SDL on Windows.

vl.c Sun Aug 9 11:58:59 2009 renamed from vl.c.orig Sun Aug 9 11:52:47 2009 +6 -0
@@ -4873,6 +4873,12 @@
    CPUState *env;
    int show_vnc_port = 0;
 
+/* Work around stdio redirection by SDL on Windows */
+#if defined (CONFIG_SDL) && defined (_WIN32)
+    freopen("CON", "wb", stdout);
+    freopen("CON", "wb", stderr);
+#endif
+
    qemu_cache_utils_init(envp);
 
    LIST_INIT (&vm_change_state_head);
#1 lore raw
Quoted 7 lines · Sebastian Herbszt

Work around no longer working console output with SDL on Windows.

vl.c Sun Aug  9 11:58:59 2009 line 4881

Quoted 9 lines
vl.c Sun Aug  9 11:58:59 2009 renamed from vl.c.orig Sun Aug  9 11:52:47 2009 +6 -0
@@ -4873,6 +4873,12 @@
    CPUState *env;
    int show_vnc_port = 0;
 
+/* Work around stdio redirection by SDL on Windows */
+#if defined (CONFIG_SDL) && defined (_WIN32)
+    freopen("CON", "wb", stdout);
+    freopen("CON", "wb", stderr);
+#endif
+

That will not work in RXVT, SSH consoles and for pipes unfortunately :-/ Also it won't respect the redirections specified on command line, which is something I often use, therefore I object to this patch. It's better to use SDL compiled with the --enable-stdio-redirect=no option.

Best regards,
Filip Navara

#2 lore raw
Quoted 7 lines · Filip Navara
Quoted 7 lines

Sebastian Herbszt wrote:

vl.c Sun Aug 9 11:58:59 2009 renamed from vl.c.orig Sun Aug 9 11:52:47 2009 +0 -0
@@ -4873,6 +4873,12 @@
 CPUState *env;
 int show_vnc_port = 0;
 
Quoted 11 lines

vl.c Sun Aug 9 11:58:59 2009 line 4881

Quoted 6 lines
vl.c Sun Aug 9 11:58:59 2009 renamed from vl.c.orig Sun Aug 9 11:52:47 2009 +6 -0
+/* Work around stdio redirection by SDL on Windows */
+#if defined (CONFIG_SDL) && defined (_WIN32)
+ freopen("CON", "wb", stdout);
+ freopen("CON", "wb", stderr);
+#endif
+

That will not work in RXVT, SSH consoles and for pipes unfortunately :-/ Also it won't respect the redirections specified on command line, which is something I often use, therefore I object to this patch. It's better to use SDL compiled with the --enable-stdio-redirect=no option.

Too bad this work around is a no go. At least for me it's good enough to make qemu usable again.

I hope the need for a custom SDL will at least get properly documented since this is a big regression for Windows users.

- Sebastian