Module: wine Branch: master Commit: 794b9313a4ba288273f38a9d9d4de021af3e96fe URL: http://source.winehq.org/git/wine.git/?a=commit;h=794b9313a4ba288273f38a9d9d...
Author: Alexandre Julliard julliard@winehq.org Date: Sun Sep 4 23:08:10 2011 +0200
libwine: Disable debug output when stderr goes to /dev/null.
---
libs/wine/debug.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/libs/wine/debug.c b/libs/wine/debug.c index 12dbeb8..a38abf4 100644 --- a/libs/wine/debug.c +++ b/libs/wine/debug.c @@ -26,6 +26,9 @@ #include <stdarg.h> #include <string.h> #include <ctype.h> +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif
#include "wine/debug.h" #include "wine/library.h" @@ -186,9 +189,19 @@ static void debug_usage(void) static void debug_init(void) { char *wine_debug; + struct stat st1, st2;
if (nb_debug_options != -1) return; /* already initialized */ nb_debug_options = 0; + + /* check for stderr pointing to /dev/null */ + if (!fstat( 2, &st1 ) && S_ISCHR(st1.st_mode) && + !stat( "/dev/null", &st2 ) && S_ISCHR(st2.st_mode) && + st1.st_rdev == st2.st_rdev) + { + default_flags = 0; + return; + } if ((wine_debug = getenv("WINEDEBUG"))) { if (!strcmp( wine_debug, "help" )) debug_usage();