summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/nlsfuncs.cc5
2 files changed, 8 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 815b2e338..3de4f4465 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-05 Corinna Vinschen <corinna@vinschen.de>
+
+ * nlsfuncs.cc (__set_charset_from_locale): Set default locale for
+ "uz_UZ" locale to ISO-8859-1, with the "@cyrillic" modifier to UTF-8.
+
2010-02-05 Christopher Faylor <me+cygwin@cgf.cx>
* dll_init.cc (per_module::run_dtors): Use consistent method for
diff --git a/winsup/cygwin/nlsfuncs.cc b/winsup/cygwin/nlsfuncs.cc
index 3310fb752..245839cb9 100644
--- a/winsup/cygwin/nlsfuncs.cc
+++ b/winsup/cygwin/nlsfuncs.cc
@@ -861,9 +861,10 @@ __set_charset_from_locale (const char *locale, char *charset)
cs = has_modifier ("@euro") ? "ISO-8859-15" : "ISO-8859-7";
break;
case 1254:
- if (lcid == 0x042c /* az_AZ (Azeri/Azerbaijan) */
- || lcid == 0x0443) /* uz_UZ (Uzbek/Uzbekistan) */
+ if (lcid == 0x042c) /* az_AZ (Azeri/Azerbaijan) */
cs = "UTF-8";
+ else if (lcid == 0x0443) /* uz_UZ (Uzbek/Uzbekistan) */
+ cs = has_modifier ("@cyrillic") ? "UTF-8" : "ISO-8859-1";
else
cs = has_modifier ("@euro") ? "ISO-8859-15" : "ISO-8859-9";
break;