buildrootschalter/package/uclibc/0.9.33.2/0033-rpmatch-backport-function.patch
Vicente Olivert Riera 9e30c5c2b1 uclibc: rename patches to follow the new name structure
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-25 11:24:02 +02:00

79 lines
2.5 KiB
Diff

From 929b1a121c5ff0daa33b2107b4c1a68b650d93ee Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 30 Apr 2012 00:40:49 -0400
Subject: [PATCH] rpmatch: backport function
rpmatch will match ^[Yy] and ^[Nn] regardless of locale
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
include/stdlib.h | 2 +-
libc/stdlib/Makefile.in | 2 +-
libc/stdlib/rpmatch.c | 7 +++++++
libc/stdlib/stdlib.c | 8 ++++++++
4 files changed, 17 insertions(+), 2 deletions(-)
create mode 100644 libc/stdlib/rpmatch.c
diff --git a/include/stdlib.h b/include/stdlib.h
index 4aa1227..42b585c 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -851,7 +851,7 @@ __END_NAMESPACE_STD
#endif /* __UCLIBC_HAS_WCHAR__ */
-#if 0 /*def __USE_SVID*/
+#ifdef __USE_SVID
/* Determine whether the string value of RESPONSE matches the affirmation
or negative response expression as specified by the LC_MESSAGES category
in the program's current locale. Returns 1 if affirmative, 0 if
diff --git a/libc/stdlib/Makefile.in b/libc/stdlib/Makefile.in
index f219d21..e802441 100644
--- a/libc/stdlib/Makefile.in
+++ b/libc/stdlib/Makefile.in
@@ -33,7 +33,7 @@ endif
# multi source stdlib.c
CSRC-y += abs.c labs.c atoi.c atol.c strtol.c strtoul.c _stdlib_strto_l.c \
- qsort.c qsort_r.c bsearch.c \
+ qsort.c qsort_r.c bsearch.c rpmatch.c \
llabs.c atoll.c strtoll.c strtoull.c _stdlib_strto_ll.c
# (aliases) strtoq.o strtouq.o
CSRC-$(UCLIBC_HAS_FLOATS) += atof.c
diff --git a/libc/stdlib/rpmatch.c b/libc/stdlib/rpmatch.c
new file mode 100644
index 0000000..dce06b6
--- /dev/null
+++ b/libc/stdlib/rpmatch.c
@@ -0,0 +1,7 @@
+/* Copyright (C) 2012 Bernhard Reutner-Fischer <uclibc@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1+, see the file COPYING.LIB in this tarball.
+ */
+
+#define L_rpmatch
+#include "stdlib.c"
diff --git a/libc/stdlib/stdlib.c b/libc/stdlib/stdlib.c
index 9e8c347..de8f084 100644
--- a/libc/stdlib/stdlib.c
+++ b/libc/stdlib/stdlib.c
@@ -318,6 +318,14 @@ long long atoll(const char *nptr)
#endif
/**********************************************************************/
+#ifdef L_rpmatch
+int rpmatch (__const char *__response)
+{
+ return (__response[0] == 'y' || __response[0] == 'Y') ? 1 :
+ (__response[0] == 'n' || __response[0] == 'N') ? 0 : -1;
+}
+#endif
+/**********************************************************************/
#if defined(L_strtol) || defined(L_strtol_l)
libc_hidden_proto(__XL_NPP(strtol))
--
1.7.10.4