[openssh-commits] [openssh] branch master updated: special treatment for a more Turkic languages
git+noreply at mindrot.org
git+noreply at mindrot.org
Thu Aug 20 11:20:38 AEST 2026
This is an automated email from the git hooks/post-receive script.
djm pushed a commit to branch master
in repository openssh.
The following commit(s) were added to refs/heads/master by this push:
new 83e41449c special treatment for a more Turkic languages
83e41449c is described below
commit 83e41449cd9da56634203e3c231f025a32cfa909
Author: Damien Miller <djm at mindrot.org>
AuthorDate: Thu Aug 20 10:40:37 2026 +1000
special treatment for a more Turkic languages
Azerbaijani and Crimean Tatar also have the i/I problem.
bz3991; ok dtucker
---
utf8.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/utf8.c b/utf8.c
index 7f63b25ae..61403ebaa 100644
--- a/utf8.c
+++ b/utf8.c
@@ -316,11 +316,12 @@ mprintf(const char *fmt, ...)
/*
* Set up libc for multibyte output in the user's chosen locale.
*
- * XXX: we are known to have problems with Turkish (i/I confusion) so we
- * deliberately fall back to the C locale for now. Longer term we should
- * always prefer to select C.[encoding] if possible, but there's no
- * standardisation in locales between systems, so we'll need to survey
+ * XXX: we are known to have problems with Turkic languahes (i/I confusion) so
+ * we deliberately fall back to the C locale for now. Longer term we
+ * should always prefer to select C.[encoding] if possible, but there's
+ * no standardisation in locales between systems, so we'll need to survey
* what's out there first.
+ * XXX: alternately runtime probe that toupper('i') != 'I' and vice-versa?
*/
void
msetlocale(void)
@@ -330,13 +331,15 @@ msetlocale(void)
int i;
/*
- * We can't yet cope with dotless/dotted I in Turkish locales,
+ * We can't yet cope with dotless/dotted I in Turkic locales,
* so fall back to the C locale for these.
*/
for (i = 0; vars[i] != NULL; i++) {
if ((cp = getenv(vars[i])) == NULL)
continue;
- if (strncasecmp(cp, "TR", 2) != 0)
+ if (strncasecmp(cp, "tr", 2) != 0 &&
+ strncasecmp(cp, "crh", 3) != 0 &&
+ strncasecmp(cp, "az", 3) != 0)
break;
/*
* If we're in a UTF-8 locale then prefer to use
--
To stop receiving notification emails like this one, please contact
djm at mindrot.org.
More information about the openssh-commits
mailing list