diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2009-03-02 02:30:39 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2009-03-02 02:30:39 +0000 |
| commit | 7125b9ebcb80cec6d411c22976df9fdb401caf5f (patch) | |
| tree | ed6ec13fe22dc0f3695052c23382ec0aa0d34315 | |
| parent | 4fd02fdd42cb389e2b63c7f1fd86377c4780b1d7 (diff) | |
| download | rockbox-7125b9ebcb80cec6d411c22976df9fdb401caf5f.zip rockbox-7125b9ebcb80cec6d411c22976df9fdb401caf5f.tar.gz rockbox-7125b9ebcb80cec6d411c22976df9fdb401caf5f.tar.bz2 rockbox-7125b9ebcb80cec6d411c22976df9fdb401caf5f.tar.xz | |
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
| -rw-r--r-- | firmware/common/strnatcmp.c | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/firmware/common/strnatcmp.c b/firmware/common/strnatcmp.c index c67bda6..2ec920b 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) { |