public inbox for cygwin-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] Cygwin: drop support for systems not supporting RFC 4646 locales
@ 2021-10-29 19:03 Corinna Vinschen
  0 siblings, 0 replies; only message in thread
From: Corinna Vinschen @ 2021-10-29 19:03 UTC (permalink / raw)
  To: cygwin-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=b794f2c6038fe3e4cb1bdcbf01f4abcf9c8167cd

commit b794f2c6038fe3e4cb1bdcbf01f4abcf9c8167cd
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Fri Oct 29 18:15:22 2021 +0200

    Cygwin: drop support for systems not supporting RFC 4646 locales
    
    i. e. Vista/2008.  This drops support for the sr_CS locale.
    
    Regenerate LC_MESSAGES and LC_TIME ERA data from more recent Linux
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/lc_era.h    | 15 ++++++++++-----
 winsup/cygwin/lc_msg.h    |  8 ++++----
 winsup/cygwin/nlsfuncs.cc | 16 +++-------------
 winsup/utils/locale.cc    | 23 -----------------------
 winsup/utils/tzmap.h      |  6 ------
 winsup/utils/tzset.c      | 39 +++------------------------------------
 6 files changed, 20 insertions(+), 87 deletions(-)

diff --git a/winsup/cygwin/lc_era.h b/winsup/cygwin/lc_era.h
index 8eb0b426a..be0b67134 100644
--- a/winsup/cygwin/lc_era.h
+++ b/winsup/cygwin/lc_era.h
@@ -1,5 +1,5 @@
 /* This struct of LC_TIME ERA data has been generated by fetching locale
-   data from a Linux system using glibc-2.28-27.fc29.x86_64 on 2019-04-30. */
+   data from a Linux system using glibc-2.33-20.fc34.x86_64 on 2021-10-29. */
 
 struct lc_era_t
 {
@@ -19,12 +19,17 @@ struct lc_era_t
 static struct lc_era_t lc_era[] =
 {
   { "az_IR", L"\x202b%A %Oe %B %Oy\x060c \x0633\x0627\x0639\x0627\x062a %OH:%OM:%OS (%Z)\x202c", L"%Oy/%Om/%Od", L"\x202b%A %Oe %B %Oy\x060c %OH:%OM:%OS\x202c", L"%OH:%OM:%OS", L"", L"", L"", L"", L"", L"\x06f0\x06f0;\x06f0\x06f1;\x06f0\x06f2;\x06f0\x06f3;\x06f0\x06f4;\x06f0\x06f5;\x06f0\x06f6;\x06f0\x06f7;\x06f0\x06f8;\x06f0\x06f9;\x06f1\x06f0;\x06f1\x06f1;\x06f1\x06f2;\x06f1\x06f3;\x06f1\x06f4;\x06f1\x06f5;\x06f1\x06f6;\x06f1\x06f7;\x06f1\x06f8;\x06f1\x06f9;\x06f2\x06f0;\x06f2\x06f1;\x06f2\x06f2;\x06f2\x06f3;\x06f2\x06f4;\x06f2\x06f5;\x06f2\x06f6;\x06f2\x06f7;\x06f2\x06f8;\x06f2\x06f9;\x06f3\x06f0;\x06f3\x06f1;\x06f3\x06f2;\x06f3\x06f3;\x06f3\x06f4;\x06f3\x06f5;\x06f3\x06f6;\x06f3\x06f7;\x06f3\x06f8;\x06f3\x06f9;\x06f4\x06f0;\x06f4\x06f1;\x06f4\x06f2;\x06f4\x06f3;\x06f4\x06f4;\x06f4\x06f5;\x06f4\x06f6;\x06f4\x06f7;\x06f4\x06f8;\x06f4\x06f9;\x06f5\x06f0;\x06f5\x06f1;\x06f5\x06f2;\x06f5\x06f3;\x06f5\x06f4;\x06f5\x06f5;\x06f5\x06f6;\x06f5\x06f7;\x06f5\x06f8;\x06f5\x06f9;\x06f6\x06f0;\x06f6\x06f1;\x06f6\x06f2;\x06f6\x06f3;\x06f6\x06f4;\x06f6\x06f5;\x06f6\x06f6;\x06f6\x06f7;\x06f6\x06f8;\x06f6\x06f9;\x06f7\x06f0;\x06f7\x06f1;\x06f7\x06f2;\x06f7\x06f3;\x06f7\x06f4;\x06f7\x06f5;\x06f7\x06f6;\x06f7\x06f7;\x06f7\x06f8;\x06f7\x06f9;\x06f8\x06f0;\x06f8\x06f1;\x06f8\x06f2;\x06f8\x06f3;\x06f8\x06f4;\x06f8\x06f5;\x06f8\x06f6;\x06f8\x06f7;\x06f8\x06f8;\x06f8\x06f9;\x06f9\x06f0;\x06f9\x06f1;\x06f9\x06f2;\x06f9\x06f3;\x06f9\x06f4;\x06f9\x06f5;\x06f9\x06f6;\x06f9\x06f7;\x06f9\x06f8;\x06f9\x06f9" },
+  { "cmn_TW", L"%Y\x5e74 %b %-d\x865f %A %H:%M:%S %Z", L"%Y\x5e74%m\x6708%d\x865f", L"%Y\x5e74%m\x6708%d\x865f (%A) %H\x9ede%M\x5206%S\x79d2", L"%H\x9ede%M\x5206%S\x79d2", L"%p %I\x9ede%M\x5206%S\x79d2", L"+:2:1913/01/01:+*:\x6c11\x570b:%EC%Ey\x5e74;+:1:1912/01/01:1912/12/31:\x6c11\x570b:%EC\x5143\x5e74;+:1:1911/12/31:-*:\x6c11\x524d:%EC%Ey\x5e74", L"", L"", L"", L"" },
   { "fa_IR", L"\x202b%A %Oe %B %Oy\x060c \x0633\x0627\x0639\x062a %OH:%OM:%OS (%Z)\x202c", L"%Oy/%Om/%Od", L"\x202b%A %Oe %B %Oy\x060c %OH:%OM:%OS\x202c", L"%OH:%OM:%OS", L"", L"", L"", L"", L"", L"\x06f0\x06f0;\x06f0\x06f1;\x06f0\x06f2;\x06f0\x06f3;\x06f0\x06f4;\x06f0\x06f5;\x06f0\x06f6;\x06f0\x06f7;\x06f0\x06f8;\x06f0\x06f9;\x06f1\x06f0;\x06f1\x06f1;\x06f1\x06f2;\x06f1\x06f3;\x06f1\x06f4;\x06f1\x06f5;\x06f1\x06f6;\x06f1\x06f7;\x06f1\x06f8;\x06f1\x06f9;\x06f2\x06f0;\x06f2\x06f1;\x06f2\x06f2;\x06f2\x06f3;\x06f2\x06f4;\x06f2\x06f5;\x06f2\x06f6;\x06f2\x06f7;\x06f2\x06f8;\x06f2\x06f9;\x06f3\x06f0;\x06f3\x06f1;\x06f3\x06f2;\x06f3\x06f3;\x06f3\x06f4;\x06f3\x06f5;\x06f3\x06f6;\x06f3\x06f7;\x06f3\x06f8;\x06f3\x06f9;\x06f4\x06f0;\x06f4\x06f1;\x06f4\x06f2;\x06f4\x06f3;\x06f4\x06f4;\x06f4\x06f5;\x06f4\x06f6;\x06f4\x06f7;\x06f4\x06f8;\x06f4\x06f9;\x06f5\x06f0;\x06f5\x06f1;\x06f5\x06f2;\x06f5\x06f3;\x06f5\x06f4;\x06f5\x06f5;\x06f5\x06f6;\x06f5\x06f7;\x06f5\x06f8;\x06f5\x06f9;\x06f6\x06f0;\x06f6\x06f1;\x06f6\x06f2;\x06f6\x06f3;\x06f6\x06f4;\x06f6\x06f5;\x06f6\x06f6;\x06f6\x06f7;\x06f6\x06f8;\x06f6\x06f9;\x06f7\x06f0;\x06f7\x06f1;\x06f7\x06f2;\x06f7\x06f3;\x06f7\x06f4;\x06f7\x06f5;\x06f7\x06f6;\x06f7\x06f7;\x06f7\x06f8;\x06f7\x06f9;\x06f8\x06f0;\x06f8\x06f1;\x06f8\x06f2;\x06f8\x06f3;\x06f8\x06f4;\x06f8\x06f5;\x06f8\x06f6;\x06f8\x06f7;\x06f8\x06f8;\x06f8\x06f9;\x06f9\x06f0;\x06f9\x06f1;\x06f9\x06f2;\x06f9\x06f3;\x06f9\x06f4;\x06f9\x06f5;\x06f9\x06f6;\x06f9\x06f7;\x06f9\x06f8;\x06f9\x06f9" },
-  { "ja_JP", L"%Y\x5e74 %b %e\x65e5 %A %H:%M:%S %Z", L"%Y\x5e74%m\x6708%d\x65e5", L"%Y\x5e74%m\x6708%d\x65e5 %H\x6642%M\x5206%S\x79d2", L"%H\x6642%M\x5206%S\x79d2", L"%p%I\x6642%M\x5206%S\x79d2", L"+:2:2020/01/01:+*:\x4ee4\x548c:%EC%Ey\x5e74;+:1:2019/05/01:2019/12/31:\x4ee4\x548c:%EC\x5143\x5e74;+:2:1990/01/01:2019/04/30:\x5e73\x6210:%EC%Ey\x5e74;+:1:1989/01/08:1989/12/31:\x5e73\x6210:%EC\x5143\x5e74;+:2:1927/01/01:1989/01/07:\x662d\x548c:%EC%Ey\x5e74;+:1:1926/12/25:1926/12/31:\x662d\x548c:%EC\x5143\x5e74;+:2:1913/01/01:1926/12/24:\x5927\x6b63:%EC%Ey\x5e74;+:2:1912/07/30:1912/12/31:\x5927\x6b63:%EC\x5143\x5e74;+:6:1873/01/01:1912/07/29:\x660e\x6cbb:%EC%Ey\x5e74;+:1:0001/01/01:1872/12/31:\x897f\x66a6:%EC%Ey\x5e74;+:1:-0001/12/31:-*:\x7d00\x5143\x524d:%EC%Ey\x5e74", L"%EY%m\x6708%d\x65e5", L"%EY%m\x6708%d\x65e5 %H\x6642%M\x5206%S\x79d2", L"", L"\x3007;\x4e00;\x4e8c;\x4e09;\x56db;\x4e94;\x516d;\x4e03;\x516b;\x4e5d;\x5341;\x5341\x4e00;\x5341\x4e8c;\x5341\x4e09;\x5341\x56db;\x5341\x4e94;\x5341\x516d;\x5341\x4e03;\x5341\x516b;\x5341\x4e5d;\x4e8c\x5341;\x4e8c\x5341\x4e00;\x4e8c\x5341\x4e8c;\x4e8c\x5341\x4e09;\x4e8c\x5341\x56db;\x4e8c\x5341\x4e94;\x4e8c\x5341\x516d;\x4e8c\x5341\x4e03;\x4e8c\x5341\x516b;\x4e8c\x5341\x4e5d;\x4e09\x5341;\x4e09\x5341\x4e00;\x4e09\x5341\x4e8c;\x4e09\x5341\x4e09;\x4e09\x5341\x56db;\x4e09\x5341\x4e94;\x4e09\x5341\x516d;\x4e09\x5341\x4e03;\x4e09\x5341\x516b;\x4e09\x5341\x4e5d;\x56db\x5341;\x56db\x5341\x4e00;\x56db\x5341\x4e8c;\x56db\x5341\x4e09;\x56db\x5341\x56db;\x56db\x5341\x4e94;\x56db\x5341\x516d;\x56db\x5341\x4e03;\x56db\x5341\x516b;\x56db\x5341\x4e5d;\x4e94\x5341;\x4e94\x5341\x4e00;\x4e94\x5341\x4e8c;\x4e94\x5341\x4e09;\x4e94\x5341\x56db;\x4e94\x5341\x4e94;\x4e94\x5341\x516d;\x4e94\x5341\x4e03;\x4e94\x5341\x516b;\x4e94\x5341\x4e5d;\x516d\x5341;\x516d\x5341\x4e00;\x516d\x5341\x4e8c;\x516d\x5341\x4e09;\x516d\x5341\x56db;\x516d\x5341\x4e94;\x516d\x5341\x516d;\x516d\x5341\x4e03;\x516d\x5341\x516b;\x516d\x5341\x4e5d;\x4e03\x5341;\x4e03\x5341\x4e00;\x4e03\x5341\x4e8c;\x4e03\x5341\x4e09;\x4e03\x5341\x56db;\x4e03\x5341\x4e94;\x4e03\x5341\x516d;\x4e03\x5341\x4e03;\x4e03\x5341\x516b;\x4e03\x5341\x4e5d;\x516b\x5341;\x516b\x5341\x4e00;\x516b\x5341\x4e8c;\x516b\x5341\x4e09;\x516b\x5341\x56db;\x516b\x5341\x4e94;\x516b\x5341\x516d;\x516b\x5341\x4e03;\x516b\x5341\x516b;\x516b\x5341\x4e5d;\x4e5d\x5341;\x4e5d\x5341\x4e00;\x4e5d\x5341\x4e8c;\x4e5d\x5341\x4e09;\x4e5d\x5341\x56db;\x4e5d\x5341\x4e94;\x4e5d\x5341\x516d;\x4e5d\x5341\x4e03;\x4e5d\x5341\x516b;\x4e5d\x5341\x4e5d;%EY%m\x6708%d\x65e5 %H\x6642%M\x5206%S\x79d2" },
+  { "hak_TW", L"%Y\x5e74 %b %e\x65e5 %A %H:%M:%S %Z", L"%Y\x5e74%m\x6708%d\x65e5", L"%Y\x5e74%m\x6708%d\x65e5 (%A) %H\x9ede%M\x5206%S\x79d2", L"%H\x9ede%M\x5206%S\x79d2", L"%p %I\x9ede%M\x5206%S\x79d2", L"+:2:1913/01/01:+*:\x6c11\x570b:%EC%Ey\x5e74;+:1:1912/01/01:1912/12/31:\x6c11\x570b:%EC\x5143\x5e74;+:1:1911/12/31:-*:\x6c11\x524d:%EC%Ey\x5e74", L"", L"", L"", L"" },
+  { "ja_JP", L"%Y\x5e74 %b %e\x65e5 %A %H:%M:%S %Z", L"%Y\x5e74%m\x6708%d\x65e5", L"%Y\x5e74%m\x6708%d\x65e5 %H\x6642%M\x5206%S\x79d2", L"%H\x6642%M\x5206%S\x79d2", L"%p%I\x6642%M\x5206%S\x79d2", L"+:2:2020/01/01:+*:\x4ee4\x548c:%EC%Ey\x5e74;+:1:2019/05/01:2019/12/31:\x4ee4\x548c:%EC\x5143\x5e74;+:2:1990/01/01:2019/04/30:\x5e73\x6210:%EC%Ey\x5e74;+:1:1989/01/08:1989/12/31:\x5e73\x6210:%EC\x5143\x5e74;+:2:1927/01/01:1989/01/07:\x662d\x548c:%EC%Ey\x5e74;+:1:1926/12/25:1926/12/31:\x662d\x548c:%EC\x5143\x5e74;+:2:1913/01/01:1926/12/24:\x5927\x6b63:%EC%Ey\x5e74;+:1:1912/07/30:1912/12/31:\x5927\x6b63:%EC\x5143\x5e74;+:6:1873/01/01:1912/07/29:\x660e\x6cbb:%EC%Ey\x5e74;+:1:0001/01/01:1872/12/31:\x897f\x66a6:%EC%Ey\x5e74;+:1:-0001/12/31:-*:\x7d00\x5143\x524d:%EC%Ey\x5e74", L"%EY%m\x6708%d\x65e5", L"%EY%m\x6708%d\x65e5 %H\x6642%M\x5206%S\x79d2", L"", L"\x3007;\x4e00;\x4e8c;\x4e09;\x56db;\x4e94;\x516d;\x4e03;\x516b;\x4e5d;\x5341;\x5341\x4e00;\x5341\x4e8c;\x5341\x4e09;\x5341\x56db;\x5341\x4e94;\x5341\x516d;\x5341\x4e03;\x5341\x516b;\x5341\x4e5d;\x4e8c\x5341;\x4e8c\x5341\x4e00;\x4e8c\x5341\x4e8c;\x4e8c\x5341\x4e09;\x4e8c\x5341\x56db;\x4e8c\x5341\x4e94;\x4e8c\x5341\x516d;\x4e8c\x5341\x4e03;\x4e8c\x5341\x516b;\x4e8c\x5341\x4e5d;\x4e09\x5341;\x4e09\x5341\x4e00;\x4e09\x5341\x4e8c;\x4e09\x5341\x4e09;\x4e09\x5341\x56db;\x4e09\x5341\x4e94;\x4e09\x5341\x516d;\x4e09\x5341\x4e03;\x4e09\x5341\x516b;\x4e09\x5341\x4e5d;\x56db\x5341;\x56db\x5341\x4e00;\x56db\x5341\x4e8c;\x56db\x5341\x4e09;\x56db\x5341\x56db;\x56db\x5341\x4e94;\x56db\x5341\x516d;\x56db\x5341\x4e03;\x56db\x5341\x516b;\x56db\x5341\x4e5d;\x4e94\x5341;\x4e94\x5341\x4e00;\x4e94\x5341\x4e8c;\x4e94\x5341\x4e09;\x4e94\x5341\x56db;\x4e94\x5341\x4e94;\x4e94\x5341\x516d;\x4e94\x5341\x4e03;\x4e94\x5341\x516b;\x4e94\x5341\x4e5d;\x516d\x5341;\x516d\x5341\x4e00;\x516d\x5341\x4e8c;\x516d\x5341\x4e09;\x516d\x5341\x56db;\x516d\x5341\x4e94;\x516d\x5341\x516d;\x516d\x5341\x4e03;\x516d\x5341\x516b;\x516d\x5341\x4e5d;\x4e03\x5341;\x4e03\x5341\x4e00;\x4e03\x5341\x4e8c;\x4e03\x5341\x4e09;\x4e03\x5341\x56db;\x4e03\x5341\x4e94;\x4e03\x5341\x516d;\x4e03\x5341\x4e03;\x4e03\x5341\x516b;\x4e03\x5341\x4e5d;\x516b\x5341;\x516b\x5341\x4e00;\x516b\x5341\x4e8c;\x516b\x5341\x4e09;\x516b\x5341\x56db;\x516b\x5341\x4e94;\x516b\x5341\x516d;\x516b\x5341\x4e03;\x516b\x5341\x516b;\x516b\x5341\x4e5d;\x4e5d\x5341;\x4e5d\x5341\x4e00;\x4e5d\x5341\x4e8c;\x4e5d\x5341\x4e09;\x4e5d\x5341\x56db;\x4e5d\x5341\x4e94;\x4e5d\x5341\x516d;\x4e5d\x5341\x4e03;\x4e5d\x5341\x516b;\x4e5d\x5341\x4e5d;%EY%m\x6708%d\x65e5 %H\x6642%M\x5206%S\x79d2" },
   { "lo_LA", L"%a %e %b %Ey %H:%M:%S %Z", L"%d/%m/%Ey", L"%a %e %b %Ey, %H:%M:%S", L"%H:%M:%S", L"%I:%M:%S %p", L"+:1:-543/01/01:+*:\x0e9e.\x0eaa.:%EC %Ey", L"%e %b %Ey", L"\x0ea7\x0eb1\x0e99%A\x0e97\x0eb5\x0ec8 %e %B %EC %Ey, %H.%M.%S \x0e99.", L"%H.%M.%S \x0e99.", L"" },
-  { "lzh_TW", L"\x516c\x66c6 %C%Oy\x5e74 %B %Oe\x65e5 %A %OH\x6642%OM\x5206%OS\x79d2", L"%OC%Oy\x5e74%B%Od\x65e5", L"%OC%Oy\x5e74%B%Od\x65e5 (%A) %OH\x6642%OM\x5206%OS\x79d2", L"%OH\x6642%OM\x5206%OS\x79d2", L"%p %OI\x6642%OM\x5206%OS\x79d2", L"", L"", L"", L"", L"\x3007;\x4e00;\x4e8c;\x4e09;\x56db;\x4e94;\x516d;\x4e03;\x516b;\x4e5d;\x5341;\x5341\x4e00;\x5341\x4e8c;\x5341\x4e09;\x5341\x56db;\x5341\x4e94;\x5341\x516d;\x5341\x4e03;\x5341\x516b;\x5341\x4e5d;\x5eff;\x5eff\x4e00;\x5eff\x4e8c;\x5eff\x4e09;\x5eff\x56db;\x5eff\x4e94;\x5eff\x516d;\x5eff\x4e03;\x5eff\x516b;\x5eff\x4e5d;\x5345;\x5345\x4e00" },
-  { "my_MM", L"%a %b %e %H:%M:%S %Z %Y", L"%OC%Oy %b %Od %A", L"%OC%Oy %b %Od %A %OI:%OM:%OS %Op %Z", L"%OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"", L"", L"", L"", L"\x1040\x1040;\x1040\x1041;\x1040\x1042;\x1040\x1043;\x1040\x1044;\x1040\x1045;\x1040\x1046;\x1040\x1047;\x1040\x1048;\x1040\x1049;\x1041\x1040;\x1041\x1041;\x1041\x1042;\x1041\x1043;\x1041\x1044;\x1041\x1045;\x1041\x1046;\x1041\x1047;\x1041\x1048;\x1041\x1049;\x1042\x1040;\x1042\x1041;\x1042\x1042;\x1042\x1043;\x1042\x1044;\x1042\x1045;\x1042\x1046;\x1042\x1047;\x1042\x1048;\x1042\x1049;\x1043\x1040;\x1043\x1041;\x1043\x1042;\x1043\x1043;\x1043\x1044;\x1043\x1045;\x1043\x1046;\x1043\x1047;\x1043\x1048;\x1043\x1049;\x1044\x1040;\x1044\x1041;\x1044\x1042;\x1044\x1043;\x1044\x1044;\x1044\x1045;\x1044\x1046;\x1044\x1047;\x1044\x1048;\x1044\x1049;\x1045\x1040;\x1045\x1041;\x1045\x1042;\x1045\x1043;\x1045\x1044;\x1045\x1045;\x1045\x1046;\x1045\x1047;\x1045\x1048;\x1045\x1049;\x1046\x1040;\x1046\x1041;\x1046\x1042;\x1046\x1043;\x1046\x1044;\x1046\x1045;\x1046\x1046;\x1046\x1047;\x1046\x1048;\x1046\x1049;\x1047\x1040;\x1047\x1041;\x1047\x1042;\x1047\x1043;\x1047\x1044;\x1047\x1045;\x1047\x1046;\x1047\x1047;\x1047\x1048;\x1047\x1049;\x1048\x1040;\x1048\x1041;\x1048\x1042;\x1048\x1043;\x1048\x1044;\x1048\x1045;\x1048\x1046;\x1048\x1047;\x1048\x1048;\x1048\x1049;\x1049\x1040;\x1049\x1041;\x1049\x1042;\x1049\x1043;\x1049\x1044;\x1049\x1045;\x1049\x1046;\x1049\x1047;\x1049\x1048;\x1049\x1049" },
-  { "or_IN", L"%a %b %e %H:%M:%S %Z %Y", L"%Od-%Om-%Oy", L"%Oe %B %Oy %OI:%OM:%OS %p %Z", L"%OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"", L"", L"", L"", L"\x0b66;\x0b67;\x0b68;\x0b69;\x0b6a;\x0b6b;\x0b6c;\x0b6d;\x0b6e;\x0b6f;\x0b67\x0b66;\x0b67\x0b67;\x0b67\x0b68;\x0b67\x0b69;\x0b67\x0b6a;\x0b67\x0b6b;\x0b67\x0b6c;\x0b67\x0b6d;\x0b67\x0b6e;\x0b67\x0b6f;\x0b68\x0b66;\x0b68\x0b67;\x0b68\x0b68;\x0b68\x0b69;\x0b68\x0b6a;\x0b68\x0b6b;\x0b68\x0b6c;\x0b68\x0b6d;\x0b68\x0b6e;\x0b68\x0b6f;\x0b69\x0b66;\x0b69\x0b67;\x0b69\x0b68;\x0b69\x0b69;\x0b69\x0b6a;\x0b69\x0b6b;\x0b69\x0b6c;\x0b69\x0b6d;\x0b69\x0b6e;\x0b69\x0b6f;\x0b6a\x0b66;\x0b6a\x0b67;\x0b6a\x0b68;\x0b6a\x0b69;\x0b6a\x0b6a;\x0b6a\x0b6b;\x0b6a\x0b6c;\x0b6a\x0b6d;\x0b6a\x0b6e;\x0b6a\x0b6f;\x0b6b\x0b66;\x0b6b\x0b67;\x0b6b\x0b68;\x0b6b\x0b69;\x0b6b\x0b6a;\x0b6b\x0b6b;\x0b6b\x0b6c;\x0b6b\x0b6d;\x0b6b\x0b6e;\x0b6b\x0b6f;\x0b6c\x0b66;\x0b6c\x0b67;\x0b6c\x0b68;\x0b6c\x0b69;\x0b6c\x0b6a;\x0b6c\x0b6b;\x0b6c\x0b6c;\x0b6c\x0b6d;\x0b6c\x0b6e;\x0b6c\x0b6f;\x0b6d\x0b66;\x0b6d\x0b67;\x0b6d\x0b68;\x0b6d\x0b69;\x0b6d\x0b6a;\x0b6d\x0b6b;\x0b6d\x0b6c;\x0b6d\x0b6d;\x0b6d\x0b6e;\x0b6d\x0b6f;\x0b6e\x0b66;\x0b6e\x0b67;\x0b6e\x0b68;\x0b6e\x0b69;\x0b6e\x0b6a;\x0b6e\x0b6b;\x0b6e\x0b6c;\x0b6e\x0b6d;\x0b6e\x0b6e;\x0b6e\x0b6f;\x0b6f\x0b66;\x0b6f\x0b67;\x0b6f\x0b68;\x0b6f\x0b69;\x0b6f\x0b6a;\x0b6f\x0b6b;\x0b6f\x0b6c;\x0b6f\x0b6d;\x0b6f\x0b6e;\x0b6f\x0b6f" },
+  { "lzh_TW", L"\x516c\x66c6 %C%Oy\x5e74 %B %Oe\x65e5 %A %OH\x6642%OM\x5206%OS\x79d2", L"%OC%Oy\x5e74%B%Od\x65e5", L"%OC%Oy\x5e74%B%Od\x65e5 (%A) %OH\x6642%OM\x5206%OS\x79d2", L"%OH\x6642%OM\x5206%OS\x79d2", L"%p %OI\x6642%OM\x5206%OS\x79d2", L"+:2:1913/01/01:+*:\x6c11\x570b:%EC%Ey\x5e74;+:1:1912/01/01:1912/12/31:\x6c11\x570b:%EC\x5143\x5e74;+:1:1911/12/31:-*:\x6c11\x524d:%EC%Ey\x5e74", L"", L"", L"", L"\x3007;\x4e00;\x4e8c;\x4e09;\x56db;\x4e94;\x516d;\x4e03;\x516b;\x4e5d;\x5341;\x5341\x4e00;\x5341\x4e8c;\x5341\x4e09;\x5341\x56db;\x5341\x4e94;\x5341\x516d;\x5341\x4e03;\x5341\x516b;\x5341\x4e5d;\x5eff;\x5eff\x4e00;\x5eff\x4e8c;\x5eff\x4e09;\x5eff\x56db;\x5eff\x4e94;\x5eff\x516d;\x5eff\x4e03;\x5eff\x516b;\x5eff\x4e5d;\x5345;\x5345\x4e00" },
+  { "mnw_MM", L"%OC%Oy %b %Od %A %OI:%OM:%OS %p %Z", L"%OC%Oy %b %Od %A", L"%OC%Oy %b %Od %A %OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"", L"", L"", L"", L"\x1040\x1040;\x1040\x1041;\x1040\x1042;\x1040\x1043;\x1040\x1044;\x1040\x1045;\x1040\x1046;\x1040\x1047;\x1040\x1048;\x1040\x1049;\x1041\x1040;\x1041\x1041;\x1041\x1042;\x1041\x1043;\x1041\x1044;\x1041\x1045;\x1041\x1046;\x1041\x1047;\x1041\x1048;\x1041\x1049;\x1042\x1040;\x1042\x1041;\x1042\x1042;\x1042\x1043;\x1042\x1044;\x1042\x1045;\x1042\x1046;\x1042\x1047;\x1042\x1048;\x1042\x1049;\x1043\x1040;\x1043\x1041;\x1043\x1042;\x1043\x1043;\x1043\x1044;\x1043\x1045;\x1043\x1046;\x1043\x1047;\x1043\x1048;\x1043\x1049;\x1044\x1040;\x1044\x1041;\x1044\x1042;\x1044\x1043;\x1044\x1044;\x1044\x1045;\x1044\x1046;\x1044\x1047;\x1044\x1048;\x1044\x1049;\x1045\x1040;\x1045\x1041;\x1045\x1042;\x1045\x1043;\x1045\x1044;\x1045\x1045;\x1045\x1046;\x1045\x1047;\x1045\x1048;\x1045\x1049;\x1046\x1040;\x1046\x1041;\x1046\x1042;\x1046\x1043;\x1046\x1044;\x1046\x1045;\x1046\x1046;\x1046\x1047;\x1046\x1048;\x1046\x1049;\x1047\x1040;\x1047\x1041;\x1047\x1042;\x1047\x1043;\x1047\x1044;\x1047\x1045;\x1047\x1046;\x1047\x1047;\x1047\x1048;\x1047\x1049;\x1048\x1040;\x1048\x1041;\x1048\x1042;\x1048\x1043;\x1048\x1044;\x1048\x1045;\x1048\x1046;\x1048\x1047;\x1048\x1048;\x1048\x1049;\x1049\x1040;\x1049\x1041;\x1049\x1042;\x1049\x1043;\x1049\x1044;\x1049\x1045;\x1049\x1046;\x1049\x1047;\x1049\x1048;\x1049\x1049" },
+  { "my_MM", L"%OC%Oy %b %Od %A %OI:%OM:%OS %p %Z", L"%OC%Oy %b %Od %A", L"%OC%Oy %b %Od %A %OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"", L"", L"", L"", L"\x1040\x1040;\x1040\x1041;\x1040\x1042;\x1040\x1043;\x1040\x1044;\x1040\x1045;\x1040\x1046;\x1040\x1047;\x1040\x1048;\x1040\x1049;\x1041\x1040;\x1041\x1041;\x1041\x1042;\x1041\x1043;\x1041\x1044;\x1041\x1045;\x1041\x1046;\x1041\x1047;\x1041\x1048;\x1041\x1049;\x1042\x1040;\x1042\x1041;\x1042\x1042;\x1042\x1043;\x1042\x1044;\x1042\x1045;\x1042\x1046;\x1042\x1047;\x1042\x1048;\x1042\x1049;\x1043\x1040;\x1043\x1041;\x1043\x1042;\x1043\x1043;\x1043\x1044;\x1043\x1045;\x1043\x1046;\x1043\x1047;\x1043\x1048;\x1043\x1049;\x1044\x1040;\x1044\x1041;\x1044\x1042;\x1044\x1043;\x1044\x1044;\x1044\x1045;\x1044\x1046;\x1044\x1047;\x1044\x1048;\x1044\x1049;\x1045\x1040;\x1045\x1041;\x1045\x1042;\x1045\x1043;\x1045\x1044;\x1045\x1045;\x1045\x1046;\x1045\x1047;\x1045\x1048;\x1045\x1049;\x1046\x1040;\x1046\x1041;\x1046\x1042;\x1046\x1043;\x1046\x1044;\x1046\x1045;\x1046\x1046;\x1046\x1047;\x1046\x1048;\x1046\x1049;\x1047\x1040;\x1047\x1041;\x1047\x1042;\x1047\x1043;\x1047\x1044;\x1047\x1045;\x1047\x1046;\x1047\x1047;\x1047\x1048;\x1047\x1049;\x1048\x1040;\x1048\x1041;\x1048\x1042;\x1048\x1043;\x1048\x1044;\x1048\x1045;\x1048\x1046;\x1048\x1047;\x1048\x1048;\x1048\x1049;\x1049\x1040;\x1049\x1041;\x1049\x1042;\x1049\x1043;\x1049\x1044;\x1049\x1045;\x1049\x1046;\x1049\x1047;\x1049\x1048;\x1049\x1049" },
+  { "nan_TW", L"%Y\x5e74 %b %e\x65e5 %A %H:%M:%S %Z", L"%Y\x5e74%m\x6708%d\x65e5", L"%Y\x5e74%m\x6708%d\x65e5 (%A) %H\x9ede%M\x5206%S\x79d2", L"%H\x9ede%M\x5206%S\x79d2", L"%p %I\x9ede%M\x5206%S\x79d2", L"+:2:1913/01/01:+*:\x6c11\x570b:%EC%Ey\x5e74;+:1:1912/01/01:1912/12/31:\x6c11\x570b:%EC\x5143\x5e74;+:1:1911/12/31:-*:\x6c11\x524d:%EC%Ey\x5e74", L"", L"", L"", L"" },
+  { "or_IN", L"%Oe %B %Oy %OI:%OM:%OS %p %Z", L"%Od-%Om-%Oy", L"%Oe %B %Oy %OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"%OI:%OM:%OS %p", L"", L"", L"", L"", L"\x0b66;\x0b67;\x0b68;\x0b69;\x0b6a;\x0b6b;\x0b6c;\x0b6d;\x0b6e;\x0b6f;\x0b67\x0b66;\x0b67\x0b67;\x0b67\x0b68;\x0b67\x0b69;\x0b67\x0b6a;\x0b67\x0b6b;\x0b67\x0b6c;\x0b67\x0b6d;\x0b67\x0b6e;\x0b67\x0b6f;\x0b68\x0b66;\x0b68\x0b67;\x0b68\x0b68;\x0b68\x0b69;\x0b68\x0b6a;\x0b68\x0b6b;\x0b68\x0b6c;\x0b68\x0b6d;\x0b68\x0b6e;\x0b68\x0b6f;\x0b69\x0b66;\x0b69\x0b67;\x0b69\x0b68;\x0b69\x0b69;\x0b69\x0b6a;\x0b69\x0b6b;\x0b69\x0b6c;\x0b69\x0b6d;\x0b69\x0b6e;\x0b69\x0b6f;\x0b6a\x0b66;\x0b6a\x0b67;\x0b6a\x0b68;\x0b6a\x0b69;\x0b6a\x0b6a;\x0b6a\x0b6b;\x0b6a\x0b6c;\x0b6a\x0b6d;\x0b6a\x0b6e;\x0b6a\x0b6f;\x0b6b\x0b66;\x0b6b\x0b67;\x0b6b\x0b68;\x0b6b\x0b69;\x0b6b\x0b6a;\x0b6b\x0b6b;\x0b6b\x0b6c;\x0b6b\x0b6d;\x0b6b\x0b6e;\x0b6b\x0b6f;\x0b6c\x0b66;\x0b6c\x0b67;\x0b6c\x0b68;\x0b6c\x0b69;\x0b6c\x0b6a;\x0b6c\x0b6b;\x0b6c\x0b6c;\x0b6c\x0b6d;\x0b6c\x0b6e;\x0b6c\x0b6f;\x0b6d\x0b66;\x0b6d\x0b67;\x0b6d\x0b68;\x0b6d\x0b69;\x0b6d\x0b6a;\x0b6d\x0b6b;\x0b6d\x0b6c;\x0b6d\x0b6d;\x0b6d\x0b6e;\x0b6d\x0b6f;\x0b6e\x0b66;\x0b6e\x0b67;\x0b6e\x0b68;\x0b6e\x0b69;\x0b6e\x0b6a;\x0b6e\x0b6b;\x0b6e\x0b6c;\x0b6e\x0b6d;\x0b6e\x0b6e;\x0b6e\x0b6f;\x0b6f\x0b66;\x0b6f\x0b67;\x0b6f\x0b68;\x0b6f\x0b69;\x0b6f\x0b6a;\x0b6f\x0b6b;\x0b6f\x0b6c;\x0b6f\x0b6d;\x0b6f\x0b6e;\x0b6f\x0b6f" },
   { "shn_MM", L"%a %b %e %H:%M:%S %Z %Y", L"%OC%Oy %b %Od %A", L"%OC%Oy %b %Od %A %OI:%OM:%OS %Op %Z", L"%OH:%OM:%OS %p", L"%OI:%OM:%OS %p", L"", L"", L"", L"", L"\x1090\x1090;\x1090\x1091;\x1090\x1092;\x1090\x1093;\x1090\x1094;\x1090\x1095;\x1090\x1096;\x1090\x1097;\x1090\x1098;\x1090\x1099;\x1091\x1090;\x1091\x1091;\x1091\x1092;\x1091\x1093;\x1091\x1094;\x1091\x1095;\x1091\x1096;\x1091\x1097;\x1091\x1098;\x1091\x1099;\x1092\x1090;\x1092\x1091;\x1092\x1092;\x1092\x1093;\x1092\x1094;\x1092\x1095;\x1092\x1096;\x1092\x1097;\x1092\x1098;\x1092\x1099;\x1093\x1090;\x1093\x1091;\x1093\x1092;\x1093\x1093;\x1093\x1094;\x1093\x1095;\x1093\x1096;\x1093\x1097;\x1093\x1098;\x1093\x1099;\x1094\x1090;\x1094\x1091;\x1094\x1092;\x1094\x1093;\x1094\x1094;\x1094\x1095;\x1094\x1096;\x1094\x1097;\x1094\x1098;\x1094\x1099;\x1095\x1090;\x1095\x1091;\x1095\x1092;\x1095\x1093;\x1095\x1094;\x1095\x1095;\x1095\x1096;\x1095\x1097;\x1095\x1098;\x1095\x1099;\x1096\x1090;\x1096\x1091;\x1096\x1092;\x1096\x1093;\x1096\x1094;\x1096\x1095;\x1096\x1096;\x1096\x1097;\x1096\x1098;\x1096\x1099;\x1097\x1090;\x1097\x1091;\x1097\x1092;\x1097\x1093;\x1097\x1094;\x1097\x1095;\x1097\x1096;\x1097\x1097;\x1097\x1098;\x1097\x1099;\x1098\x1090;\x1098\x1091;\x1098\x1092;\x1098\x1093;\x1098\x1094;\x1098\x1095;\x1098\x1096;\x1098\x1097;\x1098\x1098;\x1098\x1099;\x1099\x1090;\x1099\x1091;\x1099\x1092;\x1099\x1093;\x1099\x1094;\x1099\x1095;\x1099\x1096;\x1099\x1097;\x1099\x1098;\x1099\x1099" },
   { "th_TH", L"%a %e %b %Ey %H:%M:%S %Z", L"%d/%m/%Ey", L"%a %e %b %Ey, %H:%M:%S", L"%H:%M:%S", L"%I:%M:%S %p", L"+:1:-543/01/01:+*:\x0e1e.\x0e28.:%EC %Ey", L"%e %b %Ey", L"\x0e27\x0e31\x0e19%A\x0e17\x0e35\x0e48 %e %B %EC %Ey, %H.%M.%S \x0e19.", L"%H.%M.%S \x0e19.", L"" },
+  { "zh_TW", L"\x897f\x5143%Y\x5e74%m\x6708%d\x65e5 (%A) %H\x6642%M\x5206%S\x79d2 %Z", L"\x897f\x5143%Y\x5e74%m\x6708%d\x65e5", L"\x897f\x5143%Y\x5e74%m\x6708%d\x65e5 (%A) %H\x6642%M\x5206%S\x79d2", L"%H\x6642%M\x5206%S\x79d2", L"%p %I\x6642%M\x5206%S\x79d2", L"+:2:1913/01/01:+*:\x6c11\x570b:%EC%Ey\x5e74;+:1:1912/01/01:1912/12/31:\x6c11\x570b:%EC\x5143\x5e74;+:1:1911/12/31:-*:\x6c11\x524d:%EC%Ey\x5e74", L"", L"", L"", L"" },
 };
diff --git a/winsup/cygwin/lc_msg.h b/winsup/cygwin/lc_msg.h
index 7bc9a20a6..f84cf9370 100644
--- a/winsup/cygwin/lc_msg.h
+++ b/winsup/cygwin/lc_msg.h
@@ -1,5 +1,5 @@
 /* This struct of LC_MESSAGES data has been generated by fetching locale
-   data from a Linux system using glibc-2.28-27.fc29.x86_64 on 2019-04-30. */
+   data from a Linux system using glibc-2.33-20.fc34.x86_64 on 2021-10-29. */
 
 struct lc_msg_t
 {
@@ -72,6 +72,7 @@ static struct lc_msg_t lc_msg[] =
   { "ca_IT", L"^[+1sSyY]", L"^[-0nN]", L"s\x00ed", L"no" },
   { "ce_RU", L"^[+1yY\x0414\x0434]", L"^[-0nN\x041c\x043c]", L"", L"" },
   { "chr_US", L"^([+1yY]|\x13a5\x13a5)", L"^([-0nN]|\x13a5\x13dd)", L"\x13a5\x13a5", L"\x13a5\x13dd" },
+  { "ckb_IQ", L"^[+1yY\x0628]", L"^[-0nN\x0646]", L"\x0628\x06d5\x06b5\x06ce", L"\x0646\x06d5\x062e\x06ce\x0631" },
   { "cmn_TW", L"^[+1yY\xff59\xff39\x662f]", L"^[-0nN\xff4e\xff2e\x4e0d\x5426]", L"\x662f", L"\x4e0d\x662f" },
   { "crh_UA", L"^[+1yYeE]", L"^[-0nNhH]", L"ebet", L"hay\x0131r" },
   { "cs_CZ", L"^[+1aAyY]", L"^[-0nN]", L"ano", L"ne" },
@@ -225,6 +226,7 @@ static struct lc_msg_t lc_msg[] =
   { "ml_IN", L"^[+1yY\x0d09]", L"^[-0nN\x0d05]", L"\x0d09\x0d35\x0d4d\x0d35\x0d4d", L"\x0d05\x0d32\x0d4d\x0d32" },
   { "mn_MN", L"^[+1\x0442\x0422yY]", L"^[-0\x04af\x04aenN]", L"\x0442\x0438\x0439\x043c", L"\x04af\x0433\x04af\x0439" },
   { "mni_IN", L"^[+1yY]", L"^[-0nN]", L"yes", L"no" },
+  { "mnw_MM", L"^[+1yY\x101a]", L"^[-0nN\x101f]", L"\x101a\x103d\x1036", L"\x101f\x103d\x1036" },
   { "mr_IN", L"^[+1yY\x0939]", L"^[-0nN\x0928]", L"\x0939\x094b\x092f", L"\x0928\x093e\x0939\x0940" },
   { "ms_MY", L"^[+1yY]", L"^[-0tTnN]", L"ya", L"tidak" },
   { "mt_MT", L"^[+1yYiI]", L"^[-0nNlL]", L"iva", L"le" },
@@ -275,7 +277,7 @@ static struct lc_msg_t lc_msg[] =
   { "sd_IN@devanagari", L"^[+1yY]", L"^[-0nN]", L"", L"" },
   { "se_NO", L"^[+1JjYy]", L"^[-0IiNn]", L"jo", L"ii" },
   { "sgs_LT", L"^[+1TtYy]", L"^[-0Nn]", L"t\x01e1p", L"n\x0113" },
-  { "shn_MM", L"^[+1yY\x101f]", L"^[-0nN\x1019]", L"\x101f\x102f\x1010\x103a\x1010\x101a\x103a", L"\x1019\x101f\x102f\x1010\x103a\x1018\x1030\x1038" },
+  { "shn_MM", L"^[+1yY\x1019]", L"^[-0nN\x1022]", L"\x1019\x1085\x107c\x103a\x1088", L"\x1022\x1019\x103a\x1087\x1019\x1085\x107c\x103a\x1088" },
   { "shs_CA", L"^[+1yYoO]", L"^[-0nN]", L"yes", L"no" },
   { "si_LK", L"^[+1yY\x0d94]", L"^[-0nN\x0db1]", L"\x0d94\x0dc0\x0dca", L"\x0db1\x0dd0\x0dad" },
   { "sid_ET", L"^[+1\x12a5yY]", L"^[-0\x1290nN]", L"\x12a5\x12c8", L"\x1290\x1296\x12a5" },
@@ -288,8 +290,6 @@ static struct lc_msg_t lc_msg[] =
   { "so_SO", L"^[+1yY]", L"^[-0nN]", L"haa", L"maya" },
   { "sq_AL", L"^[+1yYpP]", L"^[-0nNjJ]", L"po", L"jo" },
   { "sq_MK", L"^[+1yYpP]", L"^[-0nNjJ]", L"po", L"jo" },
-  { "sr_CS", L"^[+1yYdD\x0414\x0434]", L"^[-0nN\x041d\x043d]", L"\x0434\x0430", L"\x043d\x0435" },
-  { "sr_CS@latin", L"^[+1dDyY]", L"^[-0nN]", L"da", L"ne" },
   { "sr_ME", L"^[+1yYdD\x0414\x0434]", L"^[-0nN\x041d\x043d]", L"\x0434\x0430", L"\x043d\x0435" },
   { "sr_ME@latin", L"^[+1dDyY]", L"^[-0nN]", L"da", L"ne" },
   { "sr_RS", L"^[+1yYdD\x0414\x0434]", L"^[-0nN\x041d\x043d]", L"\x0434\x0430", L"\x043d\x0435" },
diff --git a/winsup/cygwin/nlsfuncs.cc b/winsup/cygwin/nlsfuncs.cc
index a518d2be3..5edc0c0e6 100644
--- a/winsup/cygwin/nlsfuncs.cc
+++ b/winsup/cygwin/nlsfuncs.cc
@@ -75,8 +75,7 @@ __get_lcid_from_locale (const char *name)
 
   wchar_t wlocale[ENCODING_LEN + 1];
 
-  /* Convert to RFC 4646 syntax which is the standard for the locale names
-     replacing LCIDs starting with Vista. */
+  /* Convert to RFC 4646 syntax. */
   *c = '-';
   mbstowcs (wlocale, locale, ENCODING_LEN + 1);
   lcid = LocaleNameToLCID (wlocale, 0);
@@ -107,7 +106,6 @@ __get_lcid_from_locale (const char *name)
 	{ "sd-PK" , L"sd-Arab-PK"  },
 	{ "sd-IN" , L"sd-Deva-IN"  },
 	{ "sr-BA" , L"sr-Cyrl-BA"  },
-	{ "sr-CS" , L"sr-Cyrl-CS"  },
 	{ "sr-ME" , L"sr-Cyrl-ME"  },
 	{ "sr-RS" , L"sr-Cyrl-RS"  },
 	{ "tg-TJ" , L"tg-Cyrl-TJ"  },
@@ -123,10 +121,6 @@ __get_lcid_from_locale (const char *name)
 	    lcid = LocaleNameToLCID (sc_only_locale[i].wloc, 0);
 	    if (!strncmp (locale, "sr-", 3))
 	      {
-		/* Vista/2K8 is missing sr-ME and sr-RS.  It has only the
-		   deprecated sr-CS.  So we map ME and RS to CS here. */
-		if (lcid == 0 || lcid == LOCALE_CUSTOM_UNSPECIFIED)
-		  lcid = LocaleNameToLCID (L"sr-Cyrl-CS", 0);
 		/* "@latin" modifier for the sr_XY locales changes
 		    collation behaviour so lcid should accommodate that
 		    by being set to the Latin sublang. */
@@ -1323,9 +1317,7 @@ __set_charset_from_locale (const char *locale, char *charset)
       cs = "BIG5";
       break;
     case 1250:
-      if (lcid == 0x081a		/* sr_CS (Serbian Language/Former
-						  Serbia and Montenegro) */
-	  || lcid == 0x181a		/* sr_BA (Serbian Language/Bosnia
+      if (lcid == 0x181a		/* sr_BA (Serbian Language/Bosnia
 						  and Herzegovina) */
 	  || lcid == 0x241a		/* sr_RS (Serbian Language/Serbia) */
 	  || lcid == 0x2c1a		/* sr_ME (Serbian Language/Montenegro)*/
@@ -1337,9 +1329,7 @@ __set_charset_from_locale (const char *locale, char *charset)
 	cs = "ISO-8859-2";
       break;
     case 1251:
-      if (lcid == 0x0c1a		/* sr_CS (Serbian Language/Former
-						  Serbia and Montenegro) */
-	  || lcid == 0x1c1a		/* sr_BA (Serbian Language/Bosnia
+      if (lcid == 0x1c1a		/* sr_BA (Serbian Language/Bosnia
 						  and Herzegovina) */
 	  || lcid == 0x281a		/* sr_RS (Serbian Language/Serbia) */
 	  || lcid == 0x301a		/* sr_ME (Serbian Language/Montenegro)*/
diff --git a/winsup/utils/locale.cc b/winsup/utils/locale.cc
index ed6102ebc..3f7e5dcca 100644
--- a/winsup/utils/locale.cc
+++ b/winsup/utils/locale.cc
@@ -369,29 +369,6 @@ print_all_locales (int verbose)
 	      add_locale (loc, language, country);
 	    }
 	}
-      /* Check Serbian language for the available territories.  Vista only
-	 had sr_CS.  Only starting with W7 we have the actual sr_RS and sr_ME.
-	 However, they are supported on Vista as well in Cygwin.  So we fake
-	 them here, if they are missing. */
-      if (lang == LANG_SERBIAN)
-	{
-	  int sr_CS_idx = -1;
-	  int sr_RS_idx = -1;
-	  int i;
-
-	  for (i = 0; i < lcnt; ++ i)
-	    if (!strcmp (loc_list[i].loc, "sr_CS"))
-	      sr_CS_idx = i;
-	    else if (!strcmp (loc_list[i].loc, "sr_RS"))
-	      sr_RS_idx = i;
-	  if (sr_CS_idx > 0 && sr_RS_idx == -1)
-	    {
-	      add_locale ("sr_RS@latin", L"Serbian (Latin)", L"Serbia");
-	      add_locale ("sr_RS", L"Serbian (Cyrillic)", L"Serbia");
-	      add_locale ("sr_ME@latin", L"Serbian (Latin)", L"Montenegro");
-	      add_locale ("sr_ME", L"Serbian (Cyrillic)", L"Montenegro");
-	    }
-	}
     }
   /* First sort allows add_locale_alias_locales to bsearch in locales. */
   qsort (locale, loc_num, sizeof (loc_t), compare_locales);
diff --git a/winsup/utils/tzmap.h b/winsup/utils/tzmap.h
index 9d0556a59..9021181a5 100644
--- a/winsup/utils/tzmap.h
+++ b/winsup/utils/tzmap.h
@@ -28,11 +28,6 @@
     SA Pacific Standard Time/HT 
     South Africa Standard Time/LY
 
-  It also doesn't contain deprecated country codes used in older
-  OSes, namely:
-
-    CS (Serbian and Montenegro, dissolved, now RS and ME) used in Vista
- 
   While these are apparently old, they are required here to get a complete
   mapping on all supported OSes. */
 struct
@@ -119,7 +114,6 @@ struct
   { L"Central Brazilian Standard Time", L"BR", L"America/Cuiaba America/Campo_Grande" },
   { L"Central Europe Standard Time", L"", L"Europe/Budapest" },
   { L"Central Europe Standard Time", L"AL", L"Europe/Tirane" },
-  { L"Central Europe Standard Time", L"CS", L"Europe/Belgrade" },
   { L"Central Europe Standard Time", L"CZ", L"Europe/Prague" },
   { L"Central Europe Standard Time", L"HU", L"Europe/Budapest" },
   { L"Central Europe Standard Time", L"ME", L"Europe/Podgorica" },
diff --git a/winsup/utils/tzset.c b/winsup/utils/tzset.c
index 8e1ba09d1..d369ff7a2 100644
--- a/winsup/utils/tzset.c
+++ b/winsup/utils/tzset.c
@@ -119,9 +119,8 @@ print_version ()
 int
 main (int argc, char **argv)
 {
-  BOOL ret;
-  HKEY hkey, skey;
-  WCHAR keyname[256], stdname[256], std2name[256], country[10], *spc;
+  HKEY hkey;
+  WCHAR keyname[256], country[10], *spc;
   GEOID geo;
   int opt, idx, gotit = -1;
 
@@ -150,40 +149,8 @@ main (int argc, char **argv)
      job a lot. */
   if (!reg_query (hkey, L"TimeZoneKeyName", keyname, sizeof keyname, NULL))
     {
-      /* Pre-Vista we have a lot more to do.  First fetch the name of the
-	 Standard (non-DST) timezone.  If we can't get that, give up. */
-      if (!reg_query (hkey, L"StandardName", stdname, sizeof stdname,
-		      "timezone information"))
-	{
-	  reg_close (hkey);
-	  return 1;
-	}
       reg_close (hkey);
-      /* Now open the timezone database registry key.  Every subkey is a
-         timezone.  The key name is what we're after, but to find the right
-	 one, we have to compare the name of the previously fetched
-	 "StandardName" with the "Std" value in the timezone info... */
-      hkey = reg_open (HKEY_LOCAL_MACHINE, REG_TZDB, "timezone database");
-      if (!hkey)
-	return 1;
-      for (idx = 0; reg_enum (hkey, idx, keyname, sizeof keyname); ++idx)
-	{
-	  skey = reg_open (hkey, keyname, NULL);
-	  if (skey)
-	    {
-	      /* ...however, on MUI-enabled machines, the names are not stored
-		 directly in the above StandardName, rather it is a resource
-		 pointer into tzres.dll.  This is stored in MUI_Std.
-		 Fortunately it's easy to recognize this situation: If
-		 StandardName starts with @, it's a resource pointer, otherwise
-		 it's the cleartext value. */
-	      ret = reg_query (skey, stdname[0] == L'@' ? L"MUI_Std" : L"Std",
-			       std2name, sizeof std2name, NULL);
-	      reg_close (skey);
-	      if (ret && !wcscmp (stdname, std2name))
-		break;
-	    }
-	}
+      return 1;
     }
   reg_close (hkey);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-29 19:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-29 19:03 [newlib-cygwin] Cygwin: drop support for systems not supporting RFC 4646 locales Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).