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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public