[newlib-cygwin/main] Cygwin: /proc/locales: fix "sr" locales
Corinna Vinschen
corinna@sourceware.org
Fri Mar 24 11:52:06 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=676796498defc0f26eb1c282c716785d20788b6f
commit 676796498defc0f26eb1c282c716785d20788b6f
Author: Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Fri Mar 24 11:50:42 2023 +0100
Commit: Corinna Vinschen <corinna@vinschen.de>
CommitDate: Fri Mar 24 12:50:59 2023 +0100
Cygwin: /proc/locales: fix "sr" locales
The sr_XY locales are supposed to default to cyrillic, but the code
always attached a @cyrillic, same reason as in the previous commit.
Special case "sr" further to workaround that issue.
Fixes: c42b98bdc665 ("Cygwin: introduce /proc/codesets and /proc/locales")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/fhandler/proc.cc | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/winsup/cygwin/fhandler/proc.cc b/winsup/cygwin/fhandler/proc.cc
index 3dc0421a53b4..b74c58a11d77 100644
--- a/winsup/cygwin/fhandler/proc.cc
+++ b/winsup/cygwin/fhandler/proc.cc
@@ -2178,8 +2178,12 @@ format_proc_locale_proc (LPWSTR win_locale, DWORD info, LPARAM param)
}
/* Serbian: Windows default is Latin, Linux default is Cyrillic.
We want the Linux default and attach @latin otherwise */
- else if (!wcscmp (iso639, L"sr") && !wcscmp (iso15924, L"Latn;"))
- stpcpy (modifier, "@latin");
+ else if (!wcscmp (iso639, L"sr"))
+ {
+ snprintf (posix_loc, sizeof posix_loc, "sr_%.27ls", iso3166);
+ if (!wcscmp (iso15924, L"Latn;"))
+ stpcpy (modifier, "@latin");
+ }
/* Tamazight: no modifier, iso639 is "ber" on Linux.
"zgh-Tfng-MA" is equivalent to "ber_MA". */
else if (!wcscmp (iso639, L"zgh"))
More information about the Cygwin-cvs
mailing list