Only msvcrt.dll exports the i64 suffix Make _w?find* alias _w?find* _w?find*32 on 32bits Make _w?find* alias _w?find* _w?find*64i32 on 64bits Do not use local definition when 64i32 version is already exported Add a test for _findfirst/_findnext/_findclose --- mingw-w64-crt/Makefile.am | 1 + mingw-w64-crt/lib32/msvcr100.def | 12 ++++++++---- mingw-w64-crt/lib32/msvcr110.def | 4 ++++ mingw-w64-crt/lib32/msvcr80.def | 24 ++++++++++++++++-------- mingw-w64-crt/lib32/msvcr90.def | 12 ++++++++---- mingw-w64-crt/lib32/msvcr90d.def | 4 ++++ mingw-w64-crt/lib32/msvcrt.def | 8 ++++++++ mingw-w64-crt/lib64/msvcr100.def | 12 ++++++++---- mingw-w64-crt/lib64/msvcr110.def | 4 ++++ mingw-w64-crt/lib64/msvcr80.def | 24 ++++++++++++++++-------- mingw-w64-crt/lib64/msvcr90.def | 12 ++++++++---- mingw-w64-crt/lib64/msvcr90d.def | 4 ++++ mingw-w64-crt/lib64/msvcrt.def | 4 ++++ mingw-w64-crt/testcases/t_findfirst.c | 20 ++++++++++++++++++++ 14 files changed, 113 insertions(+), 32 deletions(-) create mode 100644 mingw-w64-crt/testcases/t_findfirst.c
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index a356c8d..efbe3ea 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -1146,6 +1146,7 @@ testcase_progs = \ testcases/tstmaincpp \ testcases/tstmain_sys_xxx \ testcases/t_ansi_io \ + testcases/t_findfirst \ testcases/t_float \ testcases/t_fstat \ testcases/t_intrinc \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 1f72ace..419d9aa 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -848,11 +848,13 @@ _findclose _findfirst32 _findfirst32i64 _findfirst64 -_findfirst64i32 DATA +_findfirst64i32 +_findfirst == _findfirst32 _findnext32 _findnext32i64 _findnext64 -_findnext64i32 DATA +_findnext64i32 +_findnext == _findnext32 _finite _flsbuf _flushall @@ -1575,11 +1577,13 @@ _wfdopen _wfindfirst32 _wfindfirst32i64 _wfindfirst64 -_wfindfirst64i32 DATA +_wfindfirst64i32 +_wfindfirst == _wfindfirst32 _wfindnext32 _wfindnext32i64 _wfindnext64 -_wfindnext64i32 DATA +_wfindnext64i32 +_wfindnext == _wfindnext32 _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 66246d2..4d26f36 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -969,10 +969,12 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst32 _findfirst32i64 _findfirst64 _findfirst64i32 _findnext32 +_findnext == _findnext32 _findnext32i64 _findnext64 _findnext64i32 @@ -1709,10 +1711,12 @@ _wfdopen _wfindfirst32 _wfindfirst32i64 _wfindfirst64 +_wfindfirst == _wfindfirst32 _wfindfirst64i32 _wfindnext32 _wfindnext32i64 _wfindnext64 +_wfindnext == _wfindnext32 _wfindnext64i32 _wfopen _wfopen_s diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index d65cab9..53f9242 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -170,10 +170,14 @@ _filelength _filelengthi64 _fileno _findclose -_findfirst -_findfirsti64 -_findnext -_findnexti64 +_findfirst32 +_findfirst == _findfirst32 +_findfirst64i32 +_findfirst32i64 +_findnext32 +_findnext == _findnext32 +_findnext64i32 +_findnext32i64 _finite _flsbuf _flushall @@ -458,10 +462,14 @@ _wexecve _wexecvp _wexecvpe _wfdopen -_wfindfirst -_wfindfirsti64 -_wfindnext -_wfindnexti64 +_wfindfirst32 +_wfindfirst == _wfindfirst32 +_wfindfirst32i64 +_wfindfirst64i32 +_wfindnext32 +_wfindnext == _wfindnext32 +_wfindnext32i64 +_wfindnext64i32 _wfopen _wfreopen _wfsopen diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index 7f86c5e..3c253a9 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -473,13 +473,15 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst32 _findfirst32i64 _findfirst64 -_findfirst64i32 DATA +_findfirst64i32 _findnext32 +_findnext == _findnext32 _findnext32i64 _findnext64 -_findnext64i32 DATA +_findnext64i32 _finite _flsbuf _flushall @@ -1207,13 +1209,15 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst32 +_wfindfirst == _wfindfirst32 _wfindfirst32i64 _wfindfirst64 -_wfindfirst64i32 DATA +_wfindfirst64i32 _wfindnext32 +_wfindnext == _wfindnext32 _wfindnext32i64 _wfindnext64 -_wfindnext64i32 DATA +_wfindnext64i32 _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index dcf47c5..490d2eb 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -531,10 +531,12 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst32 _findfirst32i64 _findfirst64 _findfirst64i32 _findnext32 +_findnext == _findnext32 _findnext32i64 _findnext64 _findnext64i32 @@ -1275,10 +1277,12 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst32 +_wfindfirst == _wfindfirst32 _wfindfirst32i64 _wfindfirst64 _wfindfirst64i32 _wfindnext32 +_wfindnext = _wfindnext32 _wfindnext32i64 _wfindnext64 _wfindnext64i32 diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def index cc07444..4f74808 100644 --- a/mingw-w64-crt/lib32/msvcrt.def +++ b/mingw-w64-crt/lib32/msvcrt.def @@ -171,9 +171,13 @@ _filelengthi64 _fileno _findclose _findfirst +_findfirst32 == _findfirst _findfirsti64 +_findfirst64i32 DATA _findnext +_findnext32 == _findnext _findnexti64 +_findnext64i32 DATA _finite _flsbuf _flushall @@ -460,9 +464,13 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst +_wfindfirst32 == _wfindfirst _wfindfirsti64 +_wfindfirst64i32 DATA _wfindnext +_wfindnext32 == _wfindnext _wfindnexti64 +_wfindnext64i32 DATA _wfopen _wfreopen _wfsopen diff --git a/mingw-w64-crt/lib64/msvcr100.def b/mingw-w64-crt/lib64/msvcr100.def index 23e9ff3..defdd38 100644 --- a/mingw-w64-crt/lib64/msvcr100.def +++ b/mingw-w64-crt/lib64/msvcr100.def @@ -801,13 +801,15 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst64i32 _findfirst32i64 _findfirst64 -_findfirst64i32 DATA +_findfirst64i32 _findnext32 +_findnext == _findnext64i32 _findnext32i64 _findnext64 -_findnext64i32 DATA +_findnext64i32 _finite _finitef _flsbuf @@ -1520,13 +1522,15 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst32 +_wfindfirst == _wfindfirst64i32 _wfindfirst32i64 _wfindfirst64 -_wfindfirst64i32 DATA +_wfindfirst64i32 _wfindnext32 +_wfindnext == _wfindnext64i32 _wfindnext32i64 _wfindnext64 -_wfindnext64i32 DATA +_wfindnext64i32 _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/lib64/msvcr110.def b/mingw-w64-crt/lib64/msvcr110.def index 6eb90c2..7d33fa1 100644 --- a/mingw-w64-crt/lib64/msvcr110.def +++ b/mingw-w64-crt/lib64/msvcr110.def @@ -926,10 +926,12 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst64i32 _findfirst32i64 _findfirst64 _findfirst64i32 _findnext32 +_findnext == _findnext64i32 _findnext32i64 _findnext64 _findnext64i32 @@ -1645,10 +1647,12 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst32 +_wfindfirst == _wfindfirst64i32 _wfindfirst32i64 _wfindfirst64 _wfindfirst64i32 _wfindnext32 +_wfindnext == _wfindnext64i32 _wfindnext32i64 _wfindnext64 _wfindnext64i32 diff --git a/mingw-w64-crt/lib64/msvcr80.def b/mingw-w64-crt/lib64/msvcr80.def index 6d97174..0c66c11 100644 --- a/mingw-w64-crt/lib64/msvcr80.def +++ b/mingw-w64-crt/lib64/msvcr80.def @@ -258,12 +258,16 @@ _filelength _filelengthi64 _fileno _findclose -_findfirst +_findfirst32 +_findfirst == _findfirst64i32 _findfirst64 -_findfirsti64 -_findnext +_findfirst32i64 +_findfirst64i32 +_findnext32 +_findnext == _findnext64i32 _findnext64 -_findnexti64 +_findnext32i64 +_findnext64i32 _finite _finitef _flsbuf @@ -575,12 +579,16 @@ _wexecve _wexecvp _wexecvpe _wfdopen -_wfindfirst +_wfindfirst32 +_wfindfirst == _wfindfirst64i32 _wfindfirst64 -_wfindfirsti64 -_wfindnext +_wfindfirst32i64 +_wfindfirst64i32 +_wfindnext32 +_wfindnext == _wfindnext64i32 _wfindnext64 -_wfindnexti64 +_wfindnext32i64 +_wfindnext64i32 _wfopen _wfreopen _wfsopen diff --git a/mingw-w64-crt/lib64/msvcr90.def b/mingw-w64-crt/lib64/msvcr90.def index f377841..7162261 100644 --- a/mingw-w64-crt/lib64/msvcr90.def +++ b/mingw-w64-crt/lib64/msvcr90.def @@ -418,13 +418,15 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst64i32 _findfirst32i64 _findfirst64 -_findfirst64i32 DATA +_findfirst64i32 _findnext32 +_findnext == _findnext64i32 _findnext32i64 _findnext64 -_findnext64i32 DATA +_findnext64i32 _finite _finitef _flsbuf @@ -1142,11 +1144,13 @@ _wfdopen _wfindfirst32 _wfindfirst32i64 _wfindfirst64 -_wfindfirst64i32 DATA +_wfindfirst == _wfindfirst64i32 +_wfindfirst64i32 _wfindnext32 _wfindnext32i64 _wfindnext64 -_wfindnext64i32 DATA +_wfindnext == _wfindnext64i32 +_wfindnext64i32 _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/lib64/msvcr90d.def b/mingw-w64-crt/lib64/msvcr90d.def index 298169c..73fe346 100644 --- a/mingw-w64-crt/lib64/msvcr90d.def +++ b/mingw-w64-crt/lib64/msvcr90d.def @@ -470,10 +470,12 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst64i32 _findfirst32i64 _findfirst64 _findfirst64i32 _findnext32 +_findnext == _findnext64i32 _findnext32i64 _findnext64 _findnext64i32 @@ -1202,10 +1204,12 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst32 +_wfindfirst == _wfindfirst64i32 _wfindfirst32i64 _wfindfirst64 _wfindfirst64i32 _wfindnext32 +_wfindnext == _wfindnext64i32 _wfindnext32i64 _wfindnext64 _wfindnext64i32 diff --git a/mingw-w64-crt/lib64/msvcrt.def b/mingw-w64-crt/lib64/msvcrt.def index c8d6181..b2daed7 100644 --- a/mingw-w64-crt/lib64/msvcrt.def +++ b/mingw-w64-crt/lib64/msvcrt.def @@ -292,9 +292,11 @@ _findclose _findfirst _findfirst64 _findfirsti64 +_findfirst64i32 == _findfirst _findnext _findnext64 _findnexti64 +_findnext64i32 == _findnext _finite _finitef _flsbuf @@ -929,9 +931,11 @@ _wfdopen _wfindfirst _wfindfirst64 _wfindfirsti64 +_wfindfirst64i32 == _wfindfirst _wfindnext _wfindnext64 _wfindnexti64 +_wfindnext64i32 == _wfindnext _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/testcases/t_findfirst.c b/mingw-w64-crt/testcases/t_findfirst.c new file mode 100644 index 0000000..e9aa41b --- /dev/null +++ b/mingw-w64-crt/testcases/t_findfirst.c @@ -0,0 +1,20 @@ +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#include <string.h> +#include <io.h> + +int main(int argc, char **argv) +{ + struct _finddata_t d; + intptr_t handle = _findfirst ("*", &d); + if (handle == -1) + return 1; + + while (_findnext(handle, &d) == 0) + printf ("%s\n", d.name); + + _findclose (handle); + return 0; +} + -- 1.7.10.4 ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public