forked from brl/citadel
64 lines
1.8 KiB
Diff
64 lines
1.8 KiB
Diff
|
From 82839c3c0371ca2a1643a99d7d01f5bc1c850b28 Mon Sep 17 00:00:00 2001
|
||
|
From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
||
|
Date: Thu, 2 Mar 2017 11:40:36 +0100
|
||
|
Subject: [PATCH] Replace rpmatch() usage with checking first character of line
|
||
|
|
||
|
This is based on the patch from Khem Raj used by openembedded. In
|
||
|
addition to the original patch, this also removes the fallback
|
||
|
implementation that was provided for C libraries that don't implement
|
||
|
rpmatch.
|
||
|
|
||
|
Upstream-Status: Backport
|
||
|
|
||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
||
|
---
|
||
|
include/common.h | 25 ++++++-------------------
|
||
|
1 file changed, 6 insertions(+), 19 deletions(-)
|
||
|
|
||
|
diff --git a/include/common.h b/include/common.h
|
||
|
index d0c706d..d609257 100644
|
||
|
--- a/include/common.h
|
||
|
+++ b/include/common.h
|
||
|
@@ -129,21 +129,6 @@ extern "C" {
|
||
|
fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
|
||
|
} while(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))) || \
|
||
|
- !defined(__GLIBC__)
|
||
|
-#undef rpmatch
|
||
|
-#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
|
||
|
-
|
||
|
/**
|
||
|
* prompt the user for confirmation
|
||
|
*/
|
||
|
@@ -164,10 +149,12 @@ static inline bool prompt(const char *msg, bool def)
|
||
|
}
|
||
|
|
||
|
if (strcmp("\n", line) != 0) {
|
||
|
- switch (rpmatch(line)) {
|
||
|
- case 0: ret = false; break;
|
||
|
- case 1: ret = true; break;
|
||
|
- case -1:
|
||
|
+ switch (line[0]) {
|
||
|
+ case 'N':
|
||
|
+ case 'n': ret = false; break;
|
||
|
+ case 'Y':
|
||
|
+ case 'y': ret = true; break;
|
||
|
+ default:
|
||
|
puts("unknown response; please try again");
|
||
|
continue;
|
||
|
}
|
||
|
--
|
||
|
2.6.1
|