Hey guys,
Recently wine has made some improvements to its msvcrt and I've taken the time to port them to reactos. changes include:
- implement per thread crt locales and many locale functions.
- implement/improve support for vc6, vc7, vc8 exceptions.
- implement/improve language support functions.
- implement/improve many library functions.
- implement many secure functions.
- use spec file for msvcrt.dll
- fix amd64 linking issues.
- add msvcirt.dll, msvcr7.dll ,msvc71.dll, msvc80.dll, msvcr90.dll from wine (no longer need to install versions of ms runtime for visual c language apps)
changes are divided into different parts but building has not been tested with individual parts.
part 1, 2 and 3 include changes to centralize the definition of several key macros (see reactos/wine/exception.h, reactos/wine/config.h, crt/include/internal/wine/cppexcept.h)
also on part 2 in scanf.c wcs.c and possibly other files i didn't know what libcntpr expected so i was quite severe hacking out functions and only letting in the minimum necesary to build ntoskrnl and everything else that uses it.
part3 includes changes to baseaddress.rbuild that should be revised, i didn't know how to calculate a good base address for the msvcr dlls so i just used the same one and let ntdll reallocate if necesary...
part5 applies to rostests.
and before you say it... msvcrt_winetest file now crashes with this trace:
dll/win32/kernel32/file/create.c:136 (CreateFileW@28) <-- arch didn't check if lpFileName was valid
lib/sdk/crt/stdio/file.c:1485 (_wsopen)
modules/rostests/winetests/msvcrt/file.c:1179
(test_fopen_fclose_fcloseall)