]> www.infradead.org Git - mtd-utils.git/commitdiff
include/common.h: fix build against musl
authorJörg Krause <joerg.krause@embedded.rocks>
Thu, 23 Apr 2015 22:12:51 +0000 (00:12 +0200)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 28 May 2015 23:31:34 +0000 (16:31 -0700)
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 <joerg.krause@embedded.rocks>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
include/common.h

index 9b8804a2b02b826814e6ca80beed07cc229fbbd1..fb0ca8345cf53b58c1535b65ed3bd087cdcd6db2 100644 (file)
@@ -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