msvcrt: Implement _wfindfirst64.
This commit is contained in:
parent
13fc9ce134
commit
1601a264e8
|
@ -1340,7 +1340,7 @@
|
|||
@ cdecl _wfdopen(long wstr) msvcrt._wfdopen
|
||||
@ stub _wfindfirst32
|
||||
@ stub _wfindfirst32i64
|
||||
@ stub _wfindfirst64
|
||||
@ cdecl _wfindfirst64(wstr ptr) msvcrt._wfindfirst64
|
||||
@ cdecl _wfindfirst64i32(wstr ptr) msvcrt._wfindfirst64i32
|
||||
@ stub _wfindnext32
|
||||
@ stub _wfindnext32i64
|
||||
|
|
|
@ -622,7 +622,7 @@
|
|||
@ cdecl _wexecvpe(wstr ptr ptr) msvcrt._wexecvpe
|
||||
@ cdecl _wfdopen(long wstr) msvcrt._wfdopen
|
||||
@ cdecl _wfindfirst(wstr ptr) msvcrt._wfindfirst
|
||||
@ stub _wfindfirst64
|
||||
@ cdecl _wfindfirst64(wstr ptr) msvcrt._wfindfirst64
|
||||
@ cdecl _wfindfirsti64(wstr ptr) msvcrt._wfindfirsti64
|
||||
@ cdecl _wfindnext(long ptr) msvcrt._wfindnext
|
||||
@ stub _wfindnext64
|
||||
|
|
|
@ -618,7 +618,7 @@
|
|||
@ varargs _wexecvpe(wstr ptr ptr) msvcrt._wexecvpe
|
||||
@ cdecl _wfdopen(long wstr) msvcrt._wfdopen
|
||||
@ cdecl _wfindfirst(wstr ptr) msvcrt._wfindfirst
|
||||
@ stub _wfindfirst64
|
||||
@ cdecl _wfindfirst64(wstr ptr) msvcrt._wfindfirst64
|
||||
@ cdecl _wfindfirsti64(wstr ptr) msvcrt._wfindfirsti64
|
||||
@ cdecl _wfindnext(long ptr) msvcrt._wfindnext
|
||||
@ stub _wfindnext64
|
||||
|
|
|
@ -1193,7 +1193,7 @@
|
|||
@ cdecl _wfdopen(long wstr) msvcrt._wfdopen
|
||||
@ stub _wfindfirst32
|
||||
@ stub _wfindfirst32i64
|
||||
@ stub _wfindfirst64
|
||||
@ cdecl _wfindfirst64(wstr ptr) msvcrt._wfindfirst64
|
||||
@ cdecl _wfindfirst64i32(wstr ptr) msvcrt._wfindfirst64i32
|
||||
@ stub _wfindnext32
|
||||
@ stub _wfindnext32i64
|
||||
|
|
|
@ -1180,7 +1180,7 @@
|
|||
@ cdecl _wfdopen(long wstr) msvcrt._wfdopen
|
||||
@ stub _wfindfirst32
|
||||
@ stub _wfindfirst32i64
|
||||
@ stub _wfindfirst64
|
||||
@ cdecl _wfindfirst64(wstr ptr) msvcrt._wfindfirst64
|
||||
@ cdecl _wfindfirst64i32(wstr ptr) msvcrt._wfindfirst64i32
|
||||
@ stub _wfindnext32
|
||||
@ stub _wfindnext32i64
|
||||
|
|
|
@ -116,6 +116,26 @@ static void msvcrt_fttofd64( const WIN32_FIND_DATAA *fd, struct MSVCRT__finddata
|
|||
strcpy(ft->name, fd->cFileName);
|
||||
}
|
||||
|
||||
/* INTERNAL: Translate WIN32_FIND_DATAW to wfinddata64_t */
|
||||
static void msvcrt_wfttofd64( const WIN32_FIND_DATAW *fd, struct MSVCRT__wfinddata64_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;
|
||||
strcpyW(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)
|
||||
{
|
||||
|
@ -368,6 +388,27 @@ MSVCRT_intptr_t CDECL MSVCRT__findfirst64(const char * fspec, struct MSVCRT__fin
|
|||
return (MSVCRT_intptr_t)hfind;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* _wfindfirst64 (MSVCRT.@)
|
||||
*
|
||||
* Unicode version of _findfirst64.
|
||||
*/
|
||||
MSVCRT_intptr_t CDECL MSVCRT__wfindfirst64(const MSVCRT_wchar_t * fspec, struct MSVCRT__wfinddata64_t* ft)
|
||||
{
|
||||
WIN32_FIND_DATAW find_data;
|
||||
HANDLE hfind;
|
||||
|
||||
hfind = FindFirstFileW(fspec, &find_data);
|
||||
if (hfind == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
msvcrt_set_errno(GetLastError());
|
||||
return -1;
|
||||
}
|
||||
msvcrt_wfttofd64(&find_data,ft);
|
||||
TRACE(":got handle %p\n",hfind);
|
||||
return (MSVCRT_intptr_t)hfind;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* _findfirst64i32 (MSVCRT.@)
|
||||
*
|
||||
|
|
|
@ -1112,7 +1112,7 @@
|
|||
@ cdecl _wexecvpe(wstr ptr ptr)
|
||||
@ cdecl _wfdopen(long wstr) MSVCRT__wfdopen
|
||||
@ cdecl _wfindfirst(wstr ptr) MSVCRT__wfindfirst
|
||||
# stub _wfindfirst64
|
||||
@ cdecl _wfindfirst64(wstr ptr) MSVCRT__wfindfirst64
|
||||
@ cdecl _wfindfirsti64(wstr ptr) MSVCRT__wfindfirsti64
|
||||
@ cdecl _wfindfirst64i32(wstr ptr) MSVCRT__wfindfirst64i32
|
||||
@ cdecl _wfindnext(long ptr) MSVCRT__wfindnext
|
||||
|
|
Loading…
Reference in New Issue