From: Jörg Krause Date: Thu, 23 Apr 2015 22:12:51 +0000 (+0200) Subject: include/common.h: fix build against musl X-Git-Tag: v1.5.2~8 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bd9ed192b5d6ee7afc49bfd383a23b50792de8c2;p=mtd-utils.git include/common.h: fix build against musl Like uClibc version older than (not yet released) 0.9.34 musl does not have a rpmatch() implementation. uClibc defines both __UCLIBC__ and __GLIBC__. So first check for uCibc and its version and then for a non glibc implementation (like musl). Note, musl does not define __MUSL__. Signed-off-by: Jörg Krause Signed-off-by: Brian Norris --- diff --git a/include/common.h b/include/common.h index 9b8804a..fb0ca83 100644 --- a/include/common.h +++ b/include/common.h @@ -117,11 +117,12 @@ extern "C" { fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \ } while(0) -#if defined(__UCLIBC__) -/* uClibc versions before 0.9.34 don't have rpmatch() */ -#if __UCLIBC_MAJOR__ == 0 && \ +/* uClibc versions before 0.9.34 and musl don't have rpmatch() */ +#if defined(__UCLIBC__) && \ + (__UCLIBC_MAJOR__ == 0 && \ (__UCLIBC_MINOR__ < 9 || \ - (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34)) + (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34))) || \ + !defined(__GLIBC__) #undef rpmatch #define rpmatch __rpmatch static inline int __rpmatch(const char *resp) @@ -130,7 +131,6 @@ static inline int __rpmatch(const char *resp) (resp[0] == 'n' || resp[0] == 'N') ? 0 : -1; } #endif -#endif /** * prompt the user for confirmation