]> granicus.if.org Git - postgresql/commitdiff
Deal with yet another issue related to "Norwegian (Bokmål)" locale.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 21 Oct 2019 18:18:01 +0000 (14:18 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 21 Oct 2019 18:18:01 +0000 (14:18 -0400)
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

src/port/win32setlocale.c

index 710dbb9b9d4addc7c6fc67994b3f0d892574fe01..dfa314073818cff0d55d1245f10cb7768a97a6ff 100644 (file)
@@ -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}
 };