diff options
-rw-r--r-- | coreutils/ls.c | 2 | ||||
-rw-r--r-- | include/platform.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c index c42f5f3d2..6080f59b6 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c @@ -886,9 +886,11 @@ 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 (sort_opts == SORT_VERSION) { dif = strverscmp(d1->name, d2->name); } else +#endif if (sort_opts == SORT_EXT) { dif = strcmp(strchrnul(d1->name, '.'), strchrnul(d2->name, '.')); } diff --git a/include/platform.h b/include/platform.h index 429220b0d..d6b748844 100644 --- a/include/platform.h +++ b/include/platform.h @@ -348,6 +348,7 @@ typedef unsigned smalluint; #define HAVE_STRCHRNUL 1 #define HAVE_STRSEP 1 #define HAVE_STRSIGNAL 1 +#define HAVE_STRVERSCMP 1 #define HAVE_VASPRINTF 1 #define HAVE_XTABS 1 #define HAVE_MNTENT_H 1 @@ -372,6 +373,7 @@ typedef unsigned smalluint; # undef HAVE_STRCHRNUL # undef HAVE_STRSEP # undef HAVE_STRSIGNAL +# undef HAVE_STRVERSCMP # undef HAVE_VASPRINTF # undef HAVE_NET_ETHERNET_H #endif @@ -389,18 +391,21 @@ typedef unsigned smalluint; # undef HAVE_PTSNAME_R # undef HAVE_SYS_STATFS_H # undef HAVE_SIGHANDLER_T +# undef HAVE_STRVERSCMP # undef HAVE_XTABS # undef HAVE_DPRINTF #endif #if defined(__digital__) && defined(__unix__) # undef HAVE_STPCPY +# undef HAVE_STRVERSCMP #endif #if defined(ANDROID) # undef HAVE_DPRINTF # undef HAVE_STPCPY # undef HAVE_STRCHRNUL +# undef HAVE_STRVERSCMP # undef HAVE_NET_ETHERNET_H #endif |