On Fri, 17 May 2019, Jacek Caban wrote:
I see it now. The problem seems to be wider than assert and caused by
__set_app_type call in ucrtbase_main.c. If I remove them, it behaves
correctly. Do you remember it's called there? Note that crtexe.c already
sets app type correctly, but it's broken by __getmainargs later.
I think the reason why I added the __set_app_type call in __getmainargs,
is that I checked with the wine implementation of the function for hints
about what it should do, when implementing this for the ucrt compat
wrapping.
Wine's function looks like this:
int CDECL __getmainargs(int *argc, char** *argv, char** *envp,
int expand_wildcards, int *new_mode)
{
...
if (new_mode)
MSVCRT__set_new_mode( *new_mode );
return 0;
}
But now when looking at the mingw-w64 crt code, I see that *new_mode
always is 0 here - so apparently msvcrt.dll doesn't actually use the
parameter in this exact way.
// Martin
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public