From 847e5335bf128353a0a23d391a7d4bbc95d4babe Mon Sep 17 00:00:00 2001 From: kugel Date: Tue, 4 Aug 2009 13:00:40 +0000 Subject: [PATCH] Fix for: FS#10031 - "improper sorting of names with underscores when Interpret numbers when sorting is used" and FS#10200 - "Incorrect sorting of roman numerals when whole numbers selected" a) By using tolower instead of toupper for case-insensitive sorting b) By not ignoring spaces (which isn't really what we aimed for anyway). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22153 a1c6a512-1295-4272-9138-f99709370657 --- firmware/common/strnatcmp.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/firmware/common/strnatcmp.c b/firmware/common/strnatcmp.c index 04b760e8e..3c98200f7 100644 --- a/firmware/common/strnatcmp.c +++ b/firmware/common/strnatcmp.c @@ -58,18 +58,18 @@ nat_isdigit(int a) return isdigit(a); } - +#if 0 static inline int nat_isspace(int a) { return isspace(a); } - +#endif static inline int nat_toupper(int a) { - return toupper(a); + return tolower(a); } @@ -139,14 +139,14 @@ static int strnatcmp0(char const *a, char const *b, int fold_case) while (1) { ca = to_int(a[ai]); cb = to_int(b[bi]); - +#if 0 /* skip over leading spaces or zeros */ while (nat_isspace(ca)) ca = to_int(a[++ai]); while (nat_isspace(cb)) cb = to_int(b[++bi]); - +#endif /* process run of digits */ if (nat_isdigit(ca) && nat_isdigit(cb)) { fractional = (ca == '0' || cb == '0'); -- 2.11.4.GIT