These changes implement _invoke_watson and _invalid_parameter* functions in all CRT libraries and then fix wcstok and wcstok_s functions to work same across all CRT libraries.
Test case from the last change should validate correctness of the wcstok_s implementation. Pali Rohár (6): headers: Add definitions of _invoke_watson and _invalid_parameter* functions crt: Add support for _invoke_watson and _invalid_parameter* functions into all CRT import libraries crt: Fix mingw-w64 implementation of wcstok and wcstok_s functions crt: Fix wcstok for msvcr80-msvcr120 and arm msvcrt crt: Make mingw-w64 implementation of wcstok compatible with MS implementation crt: testcases: Add t_wcstok_s.c test mingw-w64-crt/Makefile.am | 34 +++++- mingw-w64-crt/def-include/crt-aliases.def.in | 3 - mingw-w64-crt/lib-common/msvcr120_app.def.in | 1 - mingw-w64-crt/lib-common/msvcrt.def.in | 3 +- mingw-w64-crt/lib32/msvcr100.def.in | 1 - mingw-w64-crt/lib32/msvcr100d.def.in | 1 - mingw-w64-crt/lib32/msvcr110.def.in | 1 - mingw-w64-crt/lib32/msvcr110d.def.in | 1 - mingw-w64-crt/lib32/msvcr120.def.in | 1 - mingw-w64-crt/lib32/msvcr120d.def.in | 1 - mingw-w64-crt/lib32/msvcr80.def.in | 1 - mingw-w64-crt/lib32/msvcr80d.def.in | 1 - mingw-w64-crt/lib32/msvcr90.def.in | 1 - mingw-w64-crt/lib32/msvcr90d.def.in | 1 - mingw-w64-crt/lib64/msvcr100.def.in | 1 - mingw-w64-crt/lib64/msvcr100d.def.in | 1 - mingw-w64-crt/lib64/msvcr110.def.in | 1 - mingw-w64-crt/lib64/msvcr110d.def.in | 1 - mingw-w64-crt/lib64/msvcr120.def.in | 1 - mingw-w64-crt/lib64/msvcr120d.def.in | 1 - mingw-w64-crt/lib64/msvcr80.def.in | 1 - mingw-w64-crt/lib64/msvcr80d.def.in | 1 - mingw-w64-crt/lib64/msvcr90.def.in | 1 - mingw-w64-crt/lib64/msvcr90d.def.in | 1 - mingw-w64-crt/libarm32/msvcr110.def.in | 1 - mingw-w64-crt/libarm32/msvcr110d.def.in | 1 - mingw-w64-crt/libarm32/msvcr120.def.in | 1 - mingw-w64-crt/libarm32/msvcr120d.def.in | 1 - mingw-w64-crt/misc/_invalid_parameter.c | 33 ++++++ .../misc/_invalid_parameter_noinfo.c | 16 +++ .../misc/_invalid_parameter_noinfo_noreturn.c | 15 +++ mingw-w64-crt/misc/_invoke_watson.c | 105 ++++++++++++++++++ mingw-w64-crt/secapi/wcstok_s.c | 24 ++++ mingw-w64-crt/string/msvcr80plus_wcstok.c | 20 ++++ .../string/{wcstok.c => msvcr80pre_wcstok.c} | 14 +-- mingw-w64-crt/testcases/Makefile.am | 1 + mingw-w64-crt/testcases/t_wcstok_s.c | 101 +++++++++++++++++ mingw-w64-headers/crt/corecrt.h | 7 ++ 38 files changed, 355 insertions(+), 46 deletions(-) create mode 100644 mingw-w64-crt/misc/_invalid_parameter.c create mode 100644 mingw-w64-crt/misc/_invalid_parameter_noinfo.c create mode 100644 mingw-w64-crt/misc/_invalid_parameter_noinfo_noreturn.c create mode 100644 mingw-w64-crt/misc/_invoke_watson.c create mode 100644 mingw-w64-crt/secapi/wcstok_s.c create mode 100644 mingw-w64-crt/string/msvcr80plus_wcstok.c rename mingw-w64-crt/string/{wcstok.c => msvcr80pre_wcstok.c} (62%) create mode 100644 mingw-w64-crt/testcases/t_wcstok_s.c -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public