From afea659fefe263040088e6dc8813cb18a6f3d219 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 19 Apr 2016 12:01:05 +0100 Subject: move dir_sort_alpha function from generic utils to one specific place it is used --- utils/utils.c | 35 ----------------------------------- utils/utils.h | 11 ----------- 2 files changed, 46 deletions(-) (limited to 'utils') diff --git a/utils/utils.c b/utils/utils.c index a332f88f7..37839dc48 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -365,41 +365,6 @@ char *strndup(const char *s, size_t n) #endif -/* Exported interface, documented in utils.h */ -int dir_sort_alpha(const struct dirent **d1, const struct dirent **d2) -{ - const char *s1 = (*d1)->d_name; - const char *s2 = (*d2)->d_name; - - while (*s1 != '\0' && *s2 != '\0') { - if ((*s1 >= '0' && *s1 <= '9') && - (*s2 >= '0' && *s2 <= '9')) { - int n1 = 0, n2 = 0; - while (*s1 >= '0' && *s1 <= '9') { - n1 = n1 * 10 + (*s1) - '0'; - s1++; - } - while (*s2 >= '0' && *s2 <= '9') { - n2 = n2 * 10 + (*s2) - '0'; - s2++; - } - if (n1 != n2) { - return n1 - n2; - } - if (*s1 == '\0' || *s2 == '\0') - break; - } - if (tolower(*s1) != tolower(*s2)) - break; - - s1++; - s2++; - } - - return tolower(*s1) - tolower(*s2); -} - - #ifndef HAVE_SCANDIR /* exported function documented in utils/dirent.h */ diff --git a/utils/utils.h b/utils/utils.h index ce3158de1..5fa521c01 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -231,17 +231,6 @@ nserror vsnstrjoin(char **str, size_t *size, char sep, size_t nelm, va_list ap); */ nserror snstrjoin(char **str, size_t *size, char sep, size_t nelm, ...); -/** - * Comparison function for sorting directories. - * - * Correctly orders non zero-padded numerical parts. - * ie. produces "file1, file2, file10" rather than "file1, file10, file2". - * - * d1 first directory entry - * d2 second directory entry - */ -int dir_sort_alpha(const struct dirent **d1, const struct dirent **d2); - /* Platform specific functions */ void warn_user(const char *warning, const char *detail); -- cgit v1.2.3