Fix the MSVC build for versions 2015 and later.
authorAmit Kapila <[email protected]>
Thu, 14 May 2020 04:20:10 +0000 (09:50 +0530)
committerAmit Kapila <[email protected]>
Thu, 14 May 2020 04:20:10 +0000 (09:50 +0530)
commita1466e194e44dac7f5e8251e20bfc074b0df08e5
tree33a61ae4b34c5dceb8b45b2883bb8f136a6ce147
parent1ab5b672e43ae89f1eb49107062125936d1e9794
Fix the MSVC build for versions 2015 and later.

Visual Studio 2015 and later versions should still be able to do the same
as Visual Studio 2012, but the declaration of locale_name is missing in
_locale_t, causing the code compilation to fail, hence this falls back
instead on to enumerating all system locales by using EnumSystemLocalesEx
to find the required locale name.  If the input argument is in Unix-style
then we can get ISO Locale name directly by using GetLocaleInfoEx() with
LCType as LOCALE_SNAME.

In passing, change the documentation references of the now obsolete links.

Note that this problem occurs only with NLS enabled builds.

Author: Juan José Santamaría Flecha, Davinder Singh and Amit Kapila
Reviewed-by: Ranier Vilela and Amit Kapila
Backpatch-through: 9.5
Discussion: https://postgr.es/m/CAHzhFSFoJEWezR96um4-rg5W6m2Rj9Ud2CNZvV4NWc9tXV7aXQ@mail.gmail.com
src/backend/utils/adt/pg_locale.c