Index: configure.in =================================================================== RCS file: /cvs/gcc/gcc/boehm-gc/configure.in,v retrieving revision 1.49 diff -u -r1.49 configure.in --- configure.in 7 Aug 2003 21:34:18 -0000 1.49 +++ configure.in 9 Sep 2003 22:31:52 -0000 @@ -138,7 +138,7 @@ win32) AC_DEFINE(GC_WIN32_THREADS) dnl Wine getenv may not return NULL for missing entry - AC_DEFINE(NO_GETENV) + AC_DEFINE(EMPTY_GETENV_RESULTS) ;; dgux386) THREADS=dgux386 Index: include/private/gc_priv.h =================================================================== RCS file: /cvs/gcc/gcc/boehm-gc/include/private/gc_priv.h,v retrieving revision 1.12 diff -u -r1.12 gc_priv.h --- include/private/gc_priv.h 28 Jul 2003 04:18:23 -0000 1.12 +++ include/private/gc_priv.h 9 Sep 2003 22:31:52 -0000 @@ -448,7 +448,19 @@ /* Get environment entry */ #if !defined(NO_GETENV) -# define GETENV(name) getenv(name) +# if defined(EMPTY_GETENV_RESULTS) + /* Workaround for a reputed Wine bug. */ + static inline char * fixed_getenv(const char *name) + { + char * tmp = getenv(name); + if (tmp == 0 || strlen(tmp) == 0) + return 0; + return tmp; + } +# define GETENV(name) fixed_getenv(name) +# else +# define GETENV(name) getenv(name) +# endif #else # define GETENV(name) 0 #endif