Commit fae7cc33 authored by Baruch Siach's avatar Baruch Siach Committed by Thomas Petazzoni
Browse files

mtd: fix build against uClibc

parent 054c162f
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
From 98c2959992086acd792ef9850c90cc9da8a2a063 Mon Sep 17 00:00:00 2001
Message-Id: <98c2959992086acd792ef9850c90cc9da8a2a063.1397391118.git.baruch@tkos.co.il>
From: Baruch Siach <baruch@tkos.co.il>
Date: Sun, 13 Apr 2014 14:58:47 +0300
Subject: [PATCH] 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.

Patch status: sent upstream, http://patchwork.ozlabs.org/patch/338748/

Cc: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 include/common.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/include/common.h b/include/common.h
index 4ffccea17213..3b1366e927c4 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
  */
-- 
1.9.1