Re: check_strxfrm_bug()
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Tristan Partin <tristan@neon.tech>, Noah Misch <noah@leadboat.com>,
Heikki Linnakangas <hlinnaka@iki.fi>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-07-09T06:20:14Z
Lists: pgsql-hackers
On 07.07.23 22:30, Thomas Munro wrote:
> Thinking about how to bring this all into "normal" form -- where
> HAVE_XXX means "system defines XXX", not "system defines XXX || we
> define a replacement"
HAVE_XXX means "code can use XXX", doesn't matter how it got there (it
could also be a libpgport replacement).
So I don't think this code is correct. AFAICT, there is nothing right
now that can possibly define HAVE_MBSTOWCS_L on Windows/MSVC. Was that
the intention?
I think these changes would need to be reverted to make this correct:
-# MSVC has replacements defined in src/include/port/win32_port.h.
-if cc.get_id() == 'msvc'
- cdata.set('HAVE_WCSTOMBS_L', 1)
- cdata.set('HAVE_MBSTOWCS_L', 1)
-endif
- HAVE_MBSTOWCS_L => 1,
+ HAVE_MBSTOWCS_L => undef,
- HAVE_WCSTOMBS_L => 1,
+ HAVE_WCSTOMBS_L => undef,
Commits
-
Don't expose Windows' mbstowcs_l() and wcstombs_l().
- 4e9fa6d56b3e 17.0 landed
-
All supported systems have locale_t.
- 8d9a9f034e92 17.0 landed
-
Remove obsolete defense against strxfrm() bugs.
- 7d3d72b55edd 16.0 landed