summaryrefslogtreecommitdiff
path: root/include/common.h
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2014-04-13 15:26:46 +0300
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2014-04-15 15:55:24 +0300
commit50c9e11f7ec21dfa17fd252426367333056ba7a5 (patch)
tree87bb87ddc8005759a8d9f988b5bef9080d3bbef9 /include/common.h
parent12158de7b14b8a05cfaab6c0b9e8bed52e50c8a9 (diff)
include/common.h: fix build against current uClibc
Commit dbe0fd17f2 (mtd-utils: new prompt() helper for talking to the user) introduced a rpmatch() call. However, uClibc versions older than (not yet released) 0.9.34 don't have rpmatch() implementation. Add one. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'include/common.h')
-rw-r--r--include/common.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/common.h b/include/common.h
index 4ffccea..3b1366e 100644
--- a/include/common.h
+++ b/include/common.h
@@ -102,6 +102,19 @@ 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_MINOR__ < 9 || \
+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34))
+static inline int rpmatch(const char *resp)
+{
+ return (resp[0] == 'y' || resp[0] == 'Y') ? 1 :
+ (resp[0] == 'n' || resp[0] == 'N') ? 0 : -1;
+}
+#endif
+#endif
+
/**
* prompt the user for confirmation
*/