| From aebb2831c13ffc6f1df79e638b99e78c52aed4ce Mon Sep 17 00:00:00 2001 |
| Message-Id: <aebb2831c13ffc6f1df79e638b99e78c52aed4ce.1397593673.git.baruch@tkos.co.il> |
| From: Baruch Siach <baruch@tkos.co.il> |
| Date: Sun, 13 Apr 2014 15:26:46 +0300 |
| Subject: [PATCH] Fix rpmatch() call under uClibc |
| |
| Combine the following two patches. The first is upstream (commit 50c9e11f7e), |
| the second has been posted upstream at |
| http://patchwork.ozlabs.org/patch/339365/. |
| |
| 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> |
| |
| include/common.h: fix build against recent 0.9.33 uClibc |
| |
| An implementation of rpmatch() was backported to the 0.9.33 branch of uClibc. |
| So the uClibc version check introduced in commit 50c9e11f7e (include/common.h: |
| fix build against current uClibc) is not enough. Rename the local rpmatch() |
| implementation to avoid collision. |
| |
| Cc: Mike Frysinger <vapier@gentoo.org> |
| Signed-off-by: Baruch Siach <baruch@tkos.co.il> |
| --- |
| include/common.h | 14 ++++++++++++++ |
| 1 file changed, 14 insertions(+) |
| |
| diff --git a/include/common.h b/include/common.h |
| index 4ffccea17213..838dc757bdf1 100644 |
| --- a/include/common.h |
| +++ b/include/common.h |
| @@ -102,6 +102,20 @@ 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)) |
| +#define rpmatch __rpmatch |
| +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 |
| */ |
| -- |
| 1.9.1 |
| |