All supported systems have locale_t.
locale_t is defined by POSIX.1-2008 and SUSv4, and available on all
targeted systems. For Windows, win32_port.h redirects to a partial
implementation called _locale_t. We can now remove a lot of
compile-time tests for HAVE_LOCALE_T, and associated comments and dead
code branches that were needed for older computers.
Since configure + MinGW builds didn't detect locale_t but now we assume
that all systems have it, further inconsistencies among the 3 Windows build
systems were revealed. With this commit, we no longer define
HAVE_WCSTOMBS_L and HAVE_MBSTOWCS_L on any Windows build system, but
we have logic to deal with that so that replacements are available where
appropriate.
Reviewed-by: Noah Misch <noah@leadboat.com>
Reviewed-by: Tristan Partin <tristan@neon.tech>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/CA%2BhUKGLg7_T2GKwZFAkEf0V7vbnur-NfCjZPKZb%3DZfAXSV1ORw%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/8d9a9f034e925568342c7ccfd8d351a3cd20e7f3
Modified Files
--------------
config/c-library.m4 | 10 ++---
configure | 5 ---
meson.build | 23 +++-------
src/backend/commands/collationcmds.c | 2 +-
src/backend/regex/regc_pg_locale.c | 52 +---------------------
src/backend/utils/adt/formatting.c | 18 --------
src/backend/utils/adt/like.c | 2 -
src/backend/utils/adt/like_support.c | 2 -
src/backend/utils/adt/pg_locale.c | 86 ++++++++++++++----------------------
src/include/pg_config.h.in | 3 --
src/include/utils/pg_locale.h | 7 +--
src/tools/msvc/Solution.pm | 5 +--
12 files changed, 46 insertions(+), 169 deletions(-)