[SHELL/EXPERIMENTS]

* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927
This commit is contained in:
Amine Khaldi 2014-02-02 19:37:27 +00:00
parent d09f611410
commit 527f2f9057
20177 changed files with 0 additions and 1312061 deletions

View file

@ -0,0 +1,46 @@
/*
* @implemented
*/
intptr_t _tfindfirst(const _TCHAR* _name, struct _tfinddata_t* result)
{
WIN32_FIND_DATA FindFileData;
HANDLE hFindFile;
hFindFile = FindFirstFile(_name, &FindFileData);
if (hFindFile == INVALID_HANDLE_VALUE) {
_dosmaperr(GetLastError());
return -1;
}
result->attrib = FindFileData.dwFileAttributes;
result->time_create = (time_t)FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL);
result->time_access = (time_t)FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL);
result->time_write = (time_t)FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL);
result->size = (((__int64)FindFileData.nFileSizeHigh)<<32) + FindFileData.nFileSizeLow;
_tcsncpy(result->name,FindFileData.cFileName,MAX_PATH);
return (intptr_t)hFindFile;
}
/*
* @implemented
*/
int _tfindnext(intptr_t handle, struct _tfinddata_t* result)
{
WIN32_FIND_DATA FindFileData;
if (!FindNextFile((HANDLE)handle, &FindFileData)) {
_dosmaperr(GetLastError());
return -1;
}
result->attrib = FindFileData.dwFileAttributes;
result->time_create = (time_t)FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL);
result->time_access = (time_t)FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL);
result->time_write = (time_t)FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL);
result->size = (((__int64)FindFileData.nFileSizeHigh)<<32) + FindFileData.nFileSizeLow;
_tcsncpy(result->name,FindFileData.cFileName, MAX_PATH);
return 0;
}