aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Krause <joerg.krause@embedded.rocks>2015-04-24 00:12:51 +0200
committerBrian Norris <computersforpeace@gmail.com>2015-05-28 16:31:34 -0700
commitbd9ed192b5d6ee7afc49bfd383a23b50792de8c2 (patch)
tree3c6c7e7653cf18a323701ef18d9bbbeb2f8221fa
parent60e251320e33240ea24611682f8ccdb4722a9010 (diff)
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 <joerg.krause@embedded.rocks> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
-rw-r--r--include/common.h10
1 files changed, 5 insertions, 5 deletions
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