On Tuesday 06 May 2025 17:31:57 Martin Storsjö wrote:
> On Thu, 17 Apr 2025, Pali Rohár wrote:
>
> > There is missing call _configthreadlocale(-1) in pre_c_init function.
> > Startup code from Visual C++ runtime is doing same thing.
> >
> > This applies only for msvcr80+ and UCRT builds. For older msvcrt versions
> > there is only empty wrapper.
> > ---
> > mingw-w64-crt/crt/crtexe.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/mingw-w64-crt/crt/crtexe.c b/mingw-w64-crt/crt/crtexe.c
> > index 4bc8a92f497a..6da7e23fba92 100644
> > --- a/mingw-w64-crt/crt/crtexe.c
> > +++ b/mingw-w64-crt/crt/crtexe.c
> > @@ -112,6 +112,7 @@ pre_c_init (void)
> >
> > if (__globallocalestatus == -1)
> > {
> > + _configthreadlocale(-1);
>
> What is the parameter -1 here?
>
> According to the docs, we can pass _ENABLE_PER_THREAD_LOCALE (1) or
> _DISABLE_PER_THREAD_LOCALE (2), or 0 to query the current setting. But the
> docs don't say anything about passing -1 as parameter.
>
> // Martin
IIRC in some doc which I read was written that the -1 is a special
value used for the initialization and called only during crt
initialization. And vc++ startup code is also calling it with -1.
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public