From 7125b9ebcb80cec6d411c22976df9fdb401caf5f Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 2 Mar 2009 02:30:39 +0000 Subject: Actually apply the patch...thanks again to Bryan Vandyke (and Tom Ross for notifying me about my commit-fail). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20167 a1c6a512-1295-4272-9138-f99709370657 --- firmware/common/strnatcmp.c | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) (limited to 'firmware') diff --git a/firmware/common/strnatcmp.c b/firmware/common/strnatcmp.c index c67bda6b81..2ec920b0a1 100644 --- a/firmware/common/strnatcmp.c +++ b/firmware/common/strnatcmp.c @@ -95,34 +95,11 @@ compare_right(char const *a, char const *b) return 0; } - -static int -compare_left(char const *a, char const *b) -{ - /* Compare two left-aligned numbers: the first to have a - different value wins. */ - for (;; a++, b++) { - if (!nat_isdigit(*a) && !nat_isdigit(*b)) - return 0; - else if (!nat_isdigit(*a)) - return -1; - else if (!nat_isdigit(*b)) - return +1; - else if (*a < *b) - return -1; - else if (*a > *b) - return +1; - } - - return 0; -} - - static int strnatcmp0(char const *a, char const *b, int fold_case) { int ai, bi; char ca, cb; - int fractional, result; + int result; assert(a && b); ai = bi = 0; @@ -138,15 +115,8 @@ static int strnatcmp0(char const *a, char const *b, int fold_case) /* process run of digits */ if (nat_isdigit(ca) && nat_isdigit(cb)) { - fractional = (ca == '0' || cb == '0'); - - if (fractional) { - if ((result = compare_left(a+ai, b+bi)) != 0) - return result; - } else { - if ((result = compare_right(a+ai, b+bi)) != 0) - return result; - } + if ((result = compare_right(a+ai, b+bi)) != 0) + return result; } if (!ca && !cb) { -- cgit v1.2.3