Fix the MSVC build for versions 2015 and later.
authorAmit Kapila <[email protected]>
Thu, 14 May 2020 04:14:21 +0000 (09:44 +0530)
committerAmit Kapila <[email protected]>
Thu, 14 May 2020 04:14:21 +0000 (09:44 +0530)
commit33b77280116bac32e6364fe096a4db2a7790b7eb
tree43b8013dbea63de8c674af957c395d2c3c562ed6
parent970ed4493d8203a0e081c9616908d5b6639fff89
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