summaryrefslogtreecommitdiff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-03-15 15:16:57 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-03-15 15:16:57 +0000
commitab29ab8b3f271d8fbb2ac861a4644e5a4e29b81a (patch)
tree8fef4c497c87430cd2b87479da32b0334cc550b3 /Src
parentecf4321e6e2eb79abd48d787cdb37abb48a283a7 (diff)
downloadzsh-ab29ab8b3f271d8fbb2ac861a4644e5a4e29b81a.tar.gz
zsh-ab29ab8b3f271d8fbb2ac861a4644e5a4e29b81a.zip
Fix lower casing of option names in some locales.
Diffstat (limited to 'Src')
-rw-r--r--Src/options.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Src/options.c b/Src/options.c
index d0474498c..89178b313 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -603,7 +603,14 @@ optlookup(char const *name)
if (*t == '_')
chuck(t);
else {
- *t = tulower(*t);
+ /*
+ * Some locales (in particular tr_TR.UTF-8) may
+ * have non-standard mappings of ASCII characters,
+ * so be careful. Option names must be ASCII so
+ * we don't need to be too clever.
+ */
+ if (*t >= 'A' && *t <= 'Z')
+ *t = (*t - 'A') + 'a';
t++;
}