Re: Thread-safe nl_langinfo() and localeconv()
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Thomas Munro <thomas.munro@gmail.com>,
Heikki Linnakangas <hlinnaka@iki.fi>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-03-31T13:52:44Z
Lists: pgsql-hackers
Peter Eisentraut <peter@eisentraut.org> writes: > I'm not sure what to do with this. If setlocale() and newlocale() > indeed behave differently in what set of locale names they accept, then > technically we ought to test both of them, since we do use both of them > later on. Or maybe we push on with the effort to get rid of setlocale() > calls and then just worry about testing newlocale() (as this patch > does). But right now, if newlocale() is more permissive, then we could > accept locale names that will later fail setlocale() calls, which might > be a problem. I think the clear answer is "let's stop using setlocale(), and then not have to worry about any behavioral differences". regards, tom lane
Commits
-
Fix "‘static’ is not at beginning of declaration" warning
- 116e851db5b3 18.0 landed
-
Use thread-safe strftime_l() instead of strftime().
- 890fc826c91f 18.0 landed
-
Provide thread-safe pg_localeconv_r().
- b98be8a2a2a6 18.0 landed
-
Harmonize MinGW CODESET lookup with MSVC.
- bf3401fe813a 18.0 landed
-
Include <xlocale.h> for macOS, take II.
- 2488058dc356 18.0 landed
-
Use thread-safe nl_langinfo_l(), not nl_langinfo().
- 35eeea623022 18.0 landed
-
All POSIX systems have langinfo.h and CODESET.
- 14c648ff0094 18.0 landed