[Xfce4-commits] <midori:master> Attach Win32 console to stdout if not redirected
Christian Dywan
noreply at xfce.org
Mon Nov 28 20:44:02 CET 2011
Updating branch refs/heads/master
to 75c5f57f91073dfc2cdf27f9fe8b21d9faf0689d (commit)
from 47445f8c9494d027f2bc6e6bd76a200552d560dd (commit)
commit 75c5f57f91073dfc2cdf27f9fe8b21d9faf0689d
Author: Paweł Forysiuk <tuxator at o2.pl>
Date: Mon Nov 28 20:37:53 2011 +0100
Attach Win32 console to stdout if not redirected
midori/midori-app.c | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/midori/midori-app.c b/midori/midori-app.c
index aa17180..d8502a1 100644
--- a/midori/midori-app.c
+++ b/midori/midori-app.c
@@ -9,6 +9,12 @@
See the file COPYING for the full license text.
*/
+/* When cross-compiling assume at least WinXP */
+#ifdef _WIN32
+ #define _WIN32_WINNT 0x0501
+ #include <unistd.h>
+#endif
+
#if HAVE_CONFIG_H
#include <config.h>
#endif
@@ -1437,5 +1443,28 @@ midori_app_setup (gchar** argument_vector)
gtk_icon_factory_add_default (factory);
g_object_unref (factory);
#endif
+
+ /* Print messages to stdout on Win32 console, cf. AbiWord
+ * http://svn.abisource.com/abiword/trunk/src/wp/main/win/Win32Main.cpp */
+ #ifdef _WIN32
+ if (fileno (stdout) != -1
+ && _get_osfhandle (fileno (stdout)) != -1)
+ {
+ /* stdout is already being redirected to a file */
+ }
+ else
+ {
+ typedef BOOL (WINAPI *AttachConsole_t) (DWORD);
+ AttachConsole_t p_AttachConsole =
+ (AttachConsole_t) GetProcAddress (GetModuleHandle ("kernel32.dll"), "AttachConsole");
+ if (p_AttachConsole != NULL && p_AttachConsole (ATTACH_PARENT_PROCESS))
+ {
+ freopen ("CONOUT$", "w", stdout);
+ dup2 (fileno (stdout), 1);
+ freopen ("CONOUT$", "w", stderr);
+ dup2 (fileno (stderr), 2);
+ }
+ }
+ #endif
}
More information about the Xfce4-commits
mailing list