So what do you think. It is better idea to completely remove struct
threadlocaleinfostruct from header files? Or fix it for versioned msvcrt
libraries? Because current definition in mingw-w64 is really incorrect.

On Wednesday 24 September 2025 12:58:04 Kirill Makurin wrote:
> Pali pointed out that we don't know how layout of threadlocaleinfostruct was 
> changing for system msvcrt.dll. If there's an extra field, we may 
> accidentally dereference some data fields as a pointer from those macros.
> 
> IMO, I would suggest we do not expose _locale_t stuff for msvcrt.dll at all. 
> Functions which take an _locale_t argument first appeared in Vista's 
> msvcrt.dll but it was lacking _create_locale to create such an object, so 
> they were effectively useless. _create_locale was later added in Windows 8's 
> msvcrt.dll I think. So, it's a mess.
> 
> Note that _locale_t first appeared in msvcr80.dll. I think Pali's patches 
> should allow us to do the right thing with versioned msvcr*.dll and UCRT.
> 
> - Kirill Makurin


_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to