Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
566d8e5e
Commit
566d8e5e
authored
Nov 01, 2010
by
Eryk Wieliczko
Committed by
Alexandre Julliard
Nov 02, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Implement _findfirst64i32 and _findnext64i32.
parent
e81a929e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
6 deletions
+67
-6
msvcr100.spec
dlls/msvcr100/msvcr100.spec
+2
-2
msvcr80.spec
dlls/msvcr80/msvcr80.spec
+2
-2
msvcr90.spec
dlls/msvcr90/msvcr90.spec
+2
-2
dir.c
dlls/msvcrt/dir.c
+59
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+2
-0
No files found.
dlls/msvcr100/msvcr100.spec
View file @
566d8e5e
...
...
@@ -620,11 +620,11 @@
@ stub _findfirst32
@ stub _findfirst32i64
@ cdecl _findfirst64(str ptr) msvcrt._findfirst64
@
stub
_findfirst64i32
@
cdecl _findfirst64i32(str ptr) msvcrt.
_findfirst64i32
@ stub _findnext32
@ stub _findnext32i64
@ cdecl _findnext64(long ptr) msvcrt._findnext64
@
stub
_findnext64i32
@
cdecl _findnext64i32(long ptr) msvcrt.
_findnext64i32
@ cdecl _finite( double ) msvcrt._finite
@ cdecl _flsbuf(long ptr) msvcrt._flsbuf
@ cdecl _flushall() msvcrt._flushall
...
...
dlls/msvcr80/msvcr80.spec
View file @
566d8e5e
...
...
@@ -461,11 +461,11 @@
@ stub _findfirst32
@ stub _findfirst32i64
@ cdecl _findfirst64(str ptr) msvcrt._findfirst64
@
stub
_findfirst64i32
@
cdecl _findfirst64i32(str ptr) msvcrt.
_findfirst64i32
@ stub _findnext32
@ stub _findnext32i64
@ cdecl _findnext64(long ptr) msvcrt._findnext64
@
stub
_findnext64i32
@
cdecl _findnext64i32(long ptr) msvcrt.
_findnext64i32
@ cdecl _finite( double ) msvcrt._finite
@ cdecl _flsbuf(long ptr) msvcrt._flsbuf
@ cdecl _flushall() msvcrt._flushall
...
...
dlls/msvcr90/msvcr90.spec
View file @
566d8e5e
...
...
@@ -453,11 +453,11 @@
@ stub _findfirst32
@ stub _findfirst32i64
@ cdecl _findfirst64(str ptr) msvcrt._findfirst64
@
stub
_findfirst64i32
@
cdecl _findfirst64i32(str ptr) msvcrt.
_findfirst64i32
@ stub _findnext32
@ stub _findnext32i64
@ cdecl _findnext64(long ptr) msvcrt._findnext64
@
stub
_findnext64i32
@
cdecl _findnext64i32(long ptr) msvcrt.
_findnext64i32
@ cdecl _finite( double ) msvcrt._finite
@ cdecl _flsbuf(long ptr) msvcrt._flsbuf
@ cdecl _flushall() msvcrt._flushall
...
...
dlls/msvcrt/dir.c
View file @
566d8e5e
...
...
@@ -116,6 +116,25 @@ static void msvcrt_fttofd64( const WIN32_FIND_DATAA *fd, struct MSVCRT__finddata
strcpy
(
ft
->
name
,
fd
->
cFileName
);
}
/* INTERNAL: Translate WIN32_FIND_DATAA to finddata64i32_t */
static
void
msvcrt_fttofd64i32
(
const
WIN32_FIND_DATAA
*
fd
,
struct
MSVCRT__finddata64i32_t
*
ft
)
{
DWORD
dw
;
if
(
fd
->
dwFileAttributes
==
FILE_ATTRIBUTE_NORMAL
)
ft
->
attrib
=
0
;
else
ft
->
attrib
=
fd
->
dwFileAttributes
;
RtlTimeToSecondsSince1970
(
(
const
LARGE_INTEGER
*
)
&
fd
->
ftCreationTime
,
&
dw
);
ft
->
time_create
=
dw
;
RtlTimeToSecondsSince1970
(
(
const
LARGE_INTEGER
*
)
&
fd
->
ftLastAccessTime
,
&
dw
);
ft
->
time_access
=
dw
;
RtlTimeToSecondsSince1970
(
(
const
LARGE_INTEGER
*
)
&
fd
->
ftLastWriteTime
,
&
dw
);
ft
->
time_write
=
dw
;
ft
->
size
=
fd
->
nFileSizeLow
;
strcpy
(
ft
->
name
,
fd
->
cFileName
);
}
/* INTERNAL: Translate WIN32_FIND_DATAW to wfinddatai64_t */
static
void
msvcrt_wfttofdi64
(
const
WIN32_FIND_DATAW
*
fd
,
struct
MSVCRT__wfinddatai64_t
*
ft
)
...
...
@@ -330,6 +349,27 @@ MSVCRT_intptr_t CDECL MSVCRT__findfirst64(const char * fspec, struct MSVCRT__fin
}
/*********************************************************************
* _findfirst64i32 (MSVCRT.@)
*
* 64-bit/32-bit version of _findfirst.
*/
MSVCRT_intptr_t
CDECL
MSVCRT__findfirst64i32
(
const
char
*
fspec
,
struct
MSVCRT__finddata64i32_t
*
ft
)
{
WIN32_FIND_DATAA
find_data
;
HANDLE
hfind
;
hfind
=
FindFirstFileA
(
fspec
,
&
find_data
);
if
(
hfind
==
INVALID_HANDLE_VALUE
)
{
msvcrt_set_errno
(
GetLastError
());
return
-
1
;
}
msvcrt_fttofd64i32
(
&
find_data
,
ft
);
TRACE
(
":got handle %p
\n
"
,
hfind
);
return
(
MSVCRT_intptr_t
)
hfind
;
}
/*********************************************************************
* _wfindfirsti64 (MSVCRT.@)
*
* Unicode version of _findfirsti64.
...
...
@@ -438,6 +478,25 @@ int CDECL MSVCRT__findnext64(long hand, struct MSVCRT__finddata64_t * ft)
}
/*********************************************************************
* _findnext64i32 (MSVCRT.@)
*
* 64-bit/32-bit version of _findnext.
*/
int
CDECL
MSVCRT__findnext64i32
(
long
hand
,
struct
MSVCRT__finddata64i32_t
*
ft
)
{
WIN32_FIND_DATAA
find_data
;
if
(
!
FindNextFileA
((
HANDLE
)
hand
,
&
find_data
))
{
*
MSVCRT__errno
()
=
MSVCRT_ENOENT
;
return
-
1
;
}
msvcrt_fttofd64i32
(
&
find_data
,
ft
);
return
0
;
}
/*********************************************************************
* _wfindnexti64 (MSVCRT.@)
*
* Unicode version of _findnexti64.
...
...
dlls/msvcrt/msvcrt.spec
View file @
566d8e5e
...
...
@@ -412,9 +412,11 @@
@ cdecl _findclose(long) MSVCRT__findclose
@ cdecl _findfirst(str ptr) MSVCRT__findfirst
@ cdecl _findfirst64(str ptr) MSVCRT__findfirst64
@ cdecl _findfirst64i32(str ptr) MSVCRT__findfirst64i32
@ cdecl _findfirsti64(str ptr) MSVCRT__findfirsti64
@ cdecl _findnext(long ptr) MSVCRT__findnext
@ cdecl _findnext64(long ptr) MSVCRT__findnext64
@ cdecl _findnext64i32(long ptr) MSVCRT__findnext64i32
@ cdecl _findnexti64(long ptr) MSVCRT__findnexti64
@ cdecl _finite( double )
@ cdecl _flsbuf(long ptr) MSVCRT__flsbuf
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment