about summary refs log tree commit diff
path: root/Src/options.c
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/options.c
parentecf4321e6e2eb79abd48d787cdb37abb48a283a7 (diff)
downloadzsh-ab29ab8b3f271d8fbb2ac861a4644e5a4e29b81a.tar.gz
zsh-ab29ab8b3f271d8fbb2ac861a4644e5a4e29b81a.tar.xz
zsh-ab29ab8b3f271d8fbb2ac861a4644e5a4e29b81a.zip
Fix lower casing of option names in some locales.
Diffstat (limited to 'Src/options.c')
-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++;
 	}