diff options
author | Denys Vlasenko | 2011-06-21 17:12:52 +0200 |
---|---|---|
committer | Denys Vlasenko | 2011-06-21 17:12:52 +0200 |
commit | 1e18a01fa2965ef967b99d519018e21c9b5f15af (patch) | |
tree | b76c9ea65545bfeaa76e822eed76f9b476a8ef32 | |
parent | 33092f1003982fc26339c0fda66283805cfbcfb1 (diff) | |
download | busybox-1e18a01fa2965ef967b99d519018e21c9b5f15af.zip busybox-1e18a01fa2965ef967b99d519018e21c9b5f15af.tar.gz |
ls: fix HAVE_STRVERSCMP check; add check for older uclibc versions
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | coreutils/ls.c | 2 | ||||
-rw-r--r-- | include/platform.h | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c index 6080f59..f11eb43 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 d6b7488..cbe85f4 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 |