From: Junio C Hamano Date: Thu, 16 Jun 2011 22:24:34 GMT Subject: Re: [PATCH 1/3] help.c: Fix detection of custom merge strategy on cygwin Message-ID: <7v1uyth0t9.fsf@alter.siamese.dyndns.org> In-Reply-To: <4DFA65F8.5010806@ramsay1.demon.co.uk> Ramsay Jones writes: > -#ifdef WIN32 > +#if defined(WIN32) || defined(__CYGWIN__) > +#if defined(__CYGWIN__) > +if ((st.st_mode & S_IXUSR) == 0) > +#endif > { /* cannot trust the executable bit, peek into the file instead */ > char buf[3] = { 0 }; > int n; This looks somewhat ugly. I guess we could make the inner #if/#endif slightly more readable by letting the compiler do more work, like this: #if defined(WIN32) || defined(__CYGWIN__) if (!defined(__CYGWIN__) || !(st.st_mode & S_IXUSR)) { ... } #endif I dunno.