Changes were applied on top of the c2167bc6da600f7fdbd131734767a67ffb9e970e
Note that there are existing ABI issues with dirent.c and ftw.c files.
This patch series just make them more visible due to _finddata_t guards.
dirent.c ABI issue is expected to be fixed by Lasse Collin readdir()
changed. I hope that these changes would not cause too many merge
conflicts.
It is possible that extended t_findfirst tests could fail. I'm going to
run them on more configuration to see if I uncover issues.
Pali Rohár (12):
crt: Provide emulation of _(w)findfirst64 and _(w)findnext64 functions
headers: Remove inline definition of _findfirst64i32 and
_findnext64i32 functions
headers: Add missing _CRTIMP for _wfindfirst64i32 and _wfindnext64i32
headers: Fix _wfindfirsti64 and _wfindnexti64 macros in io.h
headers: Guard _(w)findfirst(i64)/_(w)findnext(i64) functions for CRT
build
crt: Compile workaround for dirent.c and ftw.c
crt: Fix mingw-w64 emulation of _findfirst64i32, _findnext64i32,
_wfindfirst64i32 and _wfindnext64i32 functions
crt: Provide emulation of _(w)findfirst32 and _(w)findnext32 functions
crt: Provide emulation of _(w)findfirst32i64 and _(w)findnext32i64
functions
crt: Enable emulation of _wstat32/_wfindfirst32/_wfindnext32 functions
for crtdll.dll and msvcrt10.dll builds
crt: Extend t_findfirst test for all findfirst function variants
crt: Extend t_findfirst test to verify that findfirst returns same
information as stat
mingw-w64-crt/Makefile.am | 45 +++++++++-
mingw-w64-crt/lib-common/msvcrt.def.in | 8 +-
mingw-w64-crt/misc/dirent.c | 23 +++++
mingw-w64-crt/misc/ftw.c | 23 +++++
mingw-w64-crt/stdio/_findX.h | 33 +++++++
mingw-w64-crt/stdio/_findfirst32.c | 19 ++++
mingw-w64-crt/stdio/_findfirst32i64.c | 25 ++++++
mingw-w64-crt/stdio/_findfirst64.c | 29 ++++++
mingw-w64-crt/stdio/_findfirst64i32.c | 10 +--
mingw-w64-crt/stdio/_findnext32.c | 19 ++++
mingw-w64-crt/stdio/_findnext32i64.c | 25 ++++++
mingw-w64-crt/stdio/_findnext64.c | 29 ++++++
mingw-w64-crt/stdio/_findnext64i32.c | 14 ++-
mingw-w64-crt/stdio/_wfindfirst32.c | 25 ++++++
mingw-w64-crt/stdio/_wfindfirst32i64.c | 25 ++++++
mingw-w64-crt/stdio/_wfindfirst64.c | 30 +++++++
mingw-w64-crt/stdio/_wfindfirst64i32.c | 10 +--
mingw-w64-crt/stdio/_wfindnext32.c | 25 ++++++
mingw-w64-crt/stdio/_wfindnext32i64.c | 25 ++++++
mingw-w64-crt/stdio/_wfindnext64.c | 29 ++++++
mingw-w64-crt/stdio/_wfindnext64i32.c | 14 ++-
mingw-w64-crt/stdio/_wstat32.c | 58 +++++++++++-
mingw-w64-crt/testcases/t_findfirst.c | 118 ++++++++++++++++++++++---
mingw-w64-headers/crt/io.h | 59 ++++---------
mingw-w64-headers/crt/wchar.h | 10 ++-
25 files changed, 641 insertions(+), 89 deletions(-)
create mode 100644 mingw-w64-crt/stdio/_findX.h
create mode 100644 mingw-w64-crt/stdio/_findfirst32.c
create mode 100644 mingw-w64-crt/stdio/_findfirst32i64.c
create mode 100644 mingw-w64-crt/stdio/_findfirst64.c
create mode 100644 mingw-w64-crt/stdio/_findnext32.c
create mode 100644 mingw-w64-crt/stdio/_findnext32i64.c
create mode 100644 mingw-w64-crt/stdio/_findnext64.c
create mode 100644 mingw-w64-crt/stdio/_wfindfirst32.c
create mode 100644 mingw-w64-crt/stdio/_wfindfirst32i64.c
create mode 100644 mingw-w64-crt/stdio/_wfindfirst64.c
create mode 100644 mingw-w64-crt/stdio/_wfindnext32.c
create mode 100644 mingw-w64-crt/stdio/_wfindnext32i64.c
create mode 100644 mingw-w64-crt/stdio/_wfindnext64.c
--
2.20.1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public