summaryrefslogtreecommitdiff
path: root/src/port/win32setlocale.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2019-10-21 14:18:01 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2019-10-21 14:18:38 -0400
commitaebe3ef0e4b32ba2ee0af062d20eedb914d5e2bc (patch)
tree8ebe54fc20d662b3ff067ec7cc6b246234c7c3f4 /src/port/win32setlocale.c
parent328b81348cc87e2fbcbe5980619a565604343949 (diff)
Deal with yet another issue related to "Norwegian (Bokmål)" locale.
It emerges that recent versions of Windows (at least 2016 Standard) spell this locale name as "Norwegian Bokmål_Norway.1252", defeating our mapping code that translates "Norwegian (Bokmål)_Norway" to something that's all-ASCII (cf commits db29620d4 and aa1d2fc5e). Add another mapping entry to handle this spelling. Per bug #16068 from Robert Ford. Like the previous patches, back-patch to all supported branches. Discussion: https://postgr.es/m/16068-4cb6eeaa7eb46d93@postgresql.org
Diffstat (limited to 'src/port/win32setlocale.c')
-rw-r--r--src/port/win32setlocale.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/port/win32setlocale.c b/src/port/win32setlocale.c
index c4da4a8f929..8693656a7d9 100644
--- a/src/port/win32setlocale.c
+++ b/src/port/win32setlocale.c
@@ -96,8 +96,12 @@ static const struct locale_map locale_map_result[] = {
*
* It's not clear what encoding setlocale() uses when it returns the
* locale name, so to play it safe, we search for "Norwegian (Bok*l)".
+ *
+ * Just to make life even more complicated, some versions of Windows spell
+ * the locale name without parentheses. Translate that too.
*/
{"Norwegian (Bokm", "l)_Norway", "Norwegian_Norway"},
+ {"Norwegian Bokm", "l_Norway", "Norwegian_Norway"},
{NULL, NULL, NULL}
};