From 1e18a01fa2965ef967b99d519018e21c9b5f15af Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Tue, 21 Jun 2011 17:12:52 +0200
Subject: ls: fix HAVE_STRVERSCMP check; add check for older uclibc versions

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
 coreutils/ls.c     |  2 +-
 include/platform.h | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/coreutils/ls.c b/coreutils/ls.c
index 6080f59b6..f11eb4358 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -886,7 +886,7 @@ static int sortcmp(const void *a, const void *b)
 	if (sort_opts == SORT_DIR) {
 		dif = S_ISDIR(d2->dn_mode) - S_ISDIR(d1->dn_mode);
 	} else
-#ifdef HAVE_STRVERSCMP && HAVE_STRVERSCMP == 1
+#if defined(HAVE_STRVERSCMP) && HAVE_STRVERSCMP == 1
 	if (sort_opts == SORT_VERSION) {
 		dif = strverscmp(d1->name, d2->name);
 	} else
diff --git a/include/platform.h b/include/platform.h
index d6b748844..cbe85f469 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -359,6 +359,16 @@ typedef unsigned smalluint;
 # undef HAVE_NET_ETHERNET_H
 #endif
 
+#if defined(__UCLIBC_MAJOR__)
+# if __UCLIBC_MAJOR__ == 0 \
+  && (   __UCLIBC_MINOR__ < 9 \
+     || (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 31) \
+     )
+#  undef HAVE_STRVERSCMP
+# endif
+#endif
+
+
 #if defined(__dietlibc__)
 # undef HAVE_STRCHRNUL
 #endif
-- 
cgit v1.2.3-55-g6feb