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

Reply via email to