On Nov 11, 2007 9:44 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Andreas Ericsson <ae@xxxxxx> writes: > > > René Scharfe wrote: > >> -#ifdef NO_STRCHRNUL > >> +#if !defined(__GLIBC__) && !__GLIBC_PREREQ(2, 1) > > > > This will break things for users of glibc-2.1.1 (the first release still > > available from ftp://sources.redhat.com/pub/glibc/old-releases that > > includes the strchrnul() function), since __GLIBC_PREREQ() was invented > > after strchrnul() was introduced. > > > > Replacing __GLIBC__ with __GLIBC_PREREQ (as in the original patch) will > > solve it nicely. Users of glibc-2.1.1 will be the odd minority where > > strchrnul() is available in their libc but not used. > > Do you mean this on top of René's patch? Although I do not > think I saw "the original patch" that did it this way, I think > it makes sense. > > diff --git a/git-compat-util.h b/git-compat-util.h > index 11e6df6..dd96f7a 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -183,7 +183,7 @@ void *gitmemmem(const void *haystack, size_t haystacklen, > const void *needle, size_t needlelen); > #endif > > -#if !defined(__GLIBC__) && !__GLIBC_PREREQ(2, 1) > +#if !defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 1) > #define strchrnul gitstrchrnul > static inline char *gitstrchrnul(const char *s, int c) > { I just tested it on my machine (OS X Tiger) now that it's in 'next', and this breaks the build: CC git.o In file included from builtin.h:4, from git.c:1: git-compat-util.h:187:48: error: missing binary operator before token "(" make: *** [git.o] Error 1 I don't think I have __GLIBC_PREREQ defined anywhere I can find. Dave. - 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