summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/numericsort.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/numericsort.c b/src/numericsort.c
index 524675400..bf73bb927 100644
--- a/src/numericsort.c
+++ b/src/numericsort.c
@@ -43,33 +43,33 @@ static int numericsort(struct dirent **A, struct dirent **B, int cs) {
a += len_a;
UTF_B = fl_utf8decode(b, end_b, &len_b);
b += len_b;
- if (UTF_A < 255 && UTF_B < 255 && isdigit(UTF_A) && isdigit(UTF_B)) {
+ if (UTF_A <= 255 && UTF_B <= 255 && isdigit(UTF_A) && isdigit(UTF_B)) {
int diff,magdiff;
while (UTF_A == '0') {UTF_A = fl_utf8decode(a, end_a, &len_a); a += len_a;}
while (UTF_B == '0') {UTF_B = fl_utf8decode(b, end_b, &len_b); b += len_b;}
- while (UTF_A < 255 && isdigit(UTF_A) && UTF_A == UTF_B) {
+ while (UTF_A <= 255 && isdigit(UTF_A) && UTF_A == UTF_B) {
UTF_A = fl_utf8decode(a, end_a, &len_a); a += len_a;
UTF_B = fl_utf8decode(b, end_b, &len_b); b += len_b;
}
- diff = (UTF_A < 255 && UTF_B < 255 && isdigit(UTF_A) && isdigit(UTF_B)) ? UTF_A - UTF_B : 0;
+ diff = (UTF_A <= 255 && UTF_B <= 255 && isdigit(UTF_A) && isdigit(UTF_B)) ? UTF_A - UTF_B : 0;
magdiff = 0;
- while (UTF_A < 255 && isdigit(UTF_A)) {
+ while (UTF_A <= 255 && isdigit(UTF_A)) {
magdiff++;
UTF_A = fl_utf8decode(a, end_a, &len_a); a += len_a;
}
- while (UTF_B < 255 && isdigit(UTF_B)) {
+ while (UTF_B <= 255 && isdigit(UTF_B)) {
magdiff--;
UTF_B = fl_utf8decode(b, end_b, &len_b); b += len_b;
}
if (magdiff) {ret = magdiff; break;} /* compare # of significant digits */
if (diff) {ret = diff; break;} /* compare first non-zero digit */
} else {
- if (cs || UTF_A >= 255 || UTF_B >= 255) {
+ if (cs) {
/* compare case-sensitive */
if ((ret = UTF_A - UTF_B)) break;
} else {
/* compare case-insensitive */
- if ((ret = tolower(UTF_A)-tolower(UTF_B))) break;
+ if ((ret = fl_tolower(UTF_A) - fl_tolower(UTF_B))) break;
}
if (a >= end_a) break;