summaryrefslogtreecommitdiffstats
path: root/usr.bin/sort
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2002-03-25 16:06:12 +0000
committerache <ache@FreeBSD.org>2002-03-25 16:06:12 +0000
commit693963da0d17bee552d4c649cf527ccd046a698a (patch)
tree85491c5352401082e4a91e60871710503a17e52d /usr.bin/sort
parent33d488c8a47fd32b11a0a041374acb229059aef3 (diff)
downloadFreeBSD-src-693963da0d17bee552d4c649cf527ccd046a698a.zip
FreeBSD-src-693963da0d17bee552d4c649cf527ccd046a698a.tar.gz
Fix the case when high letters becomes missing from fold tables
for some locales
Diffstat (limited to 'usr.bin/sort')
-rw-r--r--usr.bin/sort/init.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/usr.bin/sort/init.c b/usr.bin/sort/init.c
index 966d856..2c62ae8 100644
--- a/usr.bin/sort/init.c
+++ b/usr.bin/sort/init.c
@@ -309,10 +309,9 @@ settables(gflags)
Rascii[i] = 255 - i + 1;
else
Rascii[i] = 255 - i;
- if (islower(i)) {
- Ftable[i] = Ftable[toupper(i)];
- RFtable[i] = RFtable[toupper(i)];
- } else if (REC_D >= 'A' && REC_D <= 'Z' && i < 'a' && i > REC_D) {
+ if (islower(i))
+ ;
+ else if (REC_D >= 'A' && REC_D <= 'Z' && i < 'a' && i > REC_D) {
Ftable[i] = i + 1;
RFtable[i] = Rascii[i] - 1;
} else {
@@ -335,6 +334,12 @@ settables(gflags)
else
dtable[i] = 0;
}
+ for (i = 0; i < NBINS; i++) {
+ if (islower(i)) {
+ Ftable[i] = Ftable[toupper(i)];
+ RFtable[i] = RFtable[toupper(i)];
+ }
+ }
Rascii[REC_D] = RFtable[REC_D] = REC_D;
if (isupper(REC_D))
OpenPOWER on IntegriCloud