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
debd7d36
Commit
debd7d36
authored
Apr 15, 2010
by
Marcus Meissner
Committed by
Alexandre Julliard
Apr 15, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Implement findfirst64 and findnext64.
parent
5cafb7c9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
63 additions
and
2 deletions
+63
-2
dir.c
dlls/msvcrt/dir.c
+61
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+2
-2
No files found.
dlls/msvcrt/dir.c
View file @
debd7d36
...
...
@@ -96,6 +96,27 @@ static void msvcrt_fttofdi64( const WIN32_FIND_DATAA *fd, struct MSVCRT__finddat
strcpy
(
ft
->
name
,
fd
->
cFileName
);
}
/* INTERNAL: Translate WIN32_FIND_DATAA to finddata64_t */
static
void
msvcrt_fttofd64
(
const
WIN32_FIND_DATAA
*
fd
,
struct
MSVCRT__finddata64_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
=
((
__int64
)
fd
->
nFileSizeHigh
)
<<
32
|
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
)
{
...
...
@@ -288,6 +309,27 @@ MSVCRT_intptr_t CDECL MSVCRT__findfirsti64(const char * fspec, struct MSVCRT__fi
}
/*********************************************************************
* _findfirst64 (MSVCRT.@)
*
* 64-bit version of _findfirst.
*/
MSVCRT_intptr_t
CDECL
MSVCRT__findfirst64
(
const
char
*
fspec
,
struct
MSVCRT__finddata64_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_fttofd64
(
&
find_data
,
ft
);
TRACE
(
":got handle %p
\n
"
,
hfind
);
return
(
MSVCRT_intptr_t
)
hfind
;
}
/*********************************************************************
* _wfindfirsti64 (MSVCRT.@)
*
* Unicode version of _findfirsti64.
...
...
@@ -377,6 +419,25 @@ int CDECL MSVCRT__findnexti64(MSVCRT_intptr_t hand, struct MSVCRT__finddatai64_t
}
/*********************************************************************
* _findnext64 (MSVCRT.@)
*
* 64-bit version of _findnext.
*/
int
CDECL
MSVCRT__findnext64
(
long
hand
,
struct
MSVCRT__finddata64_t
*
ft
)
{
WIN32_FIND_DATAA
find_data
;
if
(
!
FindNextFileA
((
HANDLE
)
hand
,
&
find_data
))
{
*
MSVCRT__errno
()
=
MSVCRT_ENOENT
;
return
-
1
;
}
msvcrt_fttofd64
(
&
find_data
,
ft
);
return
0
;
}
/*********************************************************************
* _wfindnexti64 (MSVCRT.@)
*
* Unicode version of _findnexti64.
...
...
dlls/msvcrt/msvcrt.spec
View file @
debd7d36
...
...
@@ -373,10 +373,10 @@
@ cdecl _fileno(ptr) MSVCRT__fileno
@ cdecl _findclose(long) MSVCRT__findclose
@ cdecl _findfirst(str ptr) MSVCRT__findfirst
# stub
_findfirst64
@ cdecl _findfirst64(str ptr) MSVCRT_
_findfirst64
@ cdecl _findfirsti64(str ptr) MSVCRT__findfirsti64
@ cdecl _findnext(long ptr) MSVCRT__findnext
# stub
_findnext64
@ cdecl _findnext64(long ptr) MSVCRT_
_findnext64
@ 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