diff options
author | ache <ache@FreeBSD.org> | 2002-03-25 16:06:12 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2002-03-25 16:06:12 +0000 |
commit | 693963da0d17bee552d4c649cf527ccd046a698a (patch) | |
tree | 85491c5352401082e4a91e60871710503a17e52d /usr.bin/sort | |
parent | 33d488c8a47fd32b11a0a041374acb229059aef3 (diff) | |
download | FreeBSD-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.c | 13 |
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)) |