Johannes Sixt wrote: > On Samstag, 4. Dezember 2010, Ramsay Jones wrote: >> --- a/compat/mingw.h >> +++ b/compat/mingw.h >> @@ -14,12 +14,6 @@ typedef int socklen_t; >> #define S_ISLNK(x) (((x) & S_IFMT) == S_IFLNK) >> #define S_ISSOCK(x) 0 >> >> -#ifndef _STAT_H_ > > Instead of removing the macros, wouldn't we be much safer with just > > #ifndef S_IWUSR > > ? ... Er... no. Commit 4091bfc (which added these macros) does not provide any motivation for the change, and I'm having a hard time trying to imagine a useful purpose for this part of the commit. (I'm not saying there isn't one - just that I can't see it :-P ) On MinGW, the <sys/stat.h> header is always included prior to this header, so the _STAT_H_ include guard is always defined, so these macros will never be defined (which is a *good* thing; have you looked at the definitions). Trying to use compat/mingw.h without having first included <sys/stat.h> is not going to work! Also, note that the include guard for the msvc <sys/stat.h> file is _INC_STAT. So, on msvc, including <sys/stat.h> does not suppress these macro definitions (Not that it actually matters here, because it doesn't define these symbols anyway!). Which is why msvc issues these macro redefinition warnings (they conflict with the definitions in compat/vcbuild/include/unistd.h). We most definitely don't want to use the macros in compat/mingw.h on msvc. (They are positively *wrong*) [Hmmm, I've just noticed that the msvc compat header is missing a definition of the _S_IRWXU macro!] So, once again, I see no reason to keep them ... Unless you know otherwise. ATB, Ramsay Jones -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html