diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2016-08-01 22:09:05 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2016-08-01 22:09:05 +0300 |
commit | 2bc479f6c232aba8139bc662bb706674a651556e (patch) | |
tree | ef93651298c8a4fb8de902e6ff4d7ba4cf19d9c6 | |
parent | b4f3bf53972f5bc25bbc5568255875cbd8b2791c (diff) | |
download | egawk-2bc479f6c232aba8139bc662bb706674a651556e.tar.gz egawk-2bc479f6c232aba8139bc662bb706674a651556e.tar.bz2 egawk-2bc479f6c232aba8139bc662bb706674a651556e.zip |
Improve ignoring case in single byte locales.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | eval.c | 2 |
2 files changed, 8 insertions, 0 deletions
@@ -5,6 +5,12 @@ However, if start > 0, avoid dfa matcher, since it can't handle the case where the search starts in the middle of a string. + Unrelated: + + * eval.c (load_casetable): Reset casetable[i] to `i' if i + should not be mapped to upper case. Fixes inconsistencies between + dfa and regex in some single bytes locales; notably el_GR.iso88597. + 2016-07-23 Andrew J. Schorr <aschorr@telemetry-investments.com> * builtin.c (do_print): Improve logic for formatting @@ -220,6 +220,8 @@ load_casetable(void) for (i = 0200; i <= 0377; i++) { if (isalpha(i) && islower(i) && i != toupper(i)) casetable[i] = toupper(i); + else + casetable[i] = i; } #endif #endif |