This commit is contained in:
parent
cce41b32b8
commit
55cb65be26
2 changed files with 8 additions and 10 deletions
|
|
@ -4,7 +4,7 @@
|
||||||
typedef struct dir {
|
typedef struct dir {
|
||||||
HANDLE hFind;
|
HANDLE hFind;
|
||||||
WIN32_FIND_DATA ffd;
|
WIN32_FIND_DATA ffd;
|
||||||
int first;
|
int next;
|
||||||
} dir_t;
|
} dir_t;
|
||||||
#else
|
#else
|
||||||
typedef struct dir {
|
typedef struct dir {
|
||||||
|
|
@ -25,7 +25,7 @@ void* MwDirectoryOpen(const char* path) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
free(p);
|
free(p);
|
||||||
dir->first = 1;
|
dir->next = 1;
|
||||||
#else
|
#else
|
||||||
if((dir->dir = opendir(path)) == NULL) {
|
if((dir->dir = opendir(path)) == NULL) {
|
||||||
free(dir);
|
free(dir);
|
||||||
|
|
@ -54,14 +54,10 @@ MwDirectoryEntry* MwDirectoryRead(void* handle) {
|
||||||
MwDirectoryEntry* entry = malloc(sizeof(*entry));
|
MwDirectoryEntry* entry = malloc(sizeof(*entry));
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
ULARGE_INTEGER* l;
|
ULARGE_INTEGER* l;
|
||||||
if(dir->first) {
|
|
||||||
dir->first = 0;
|
|
||||||
} else if(FindNextFile(dir->hFind, &dir->ffd) == 0) {
|
|
||||||
free(entry);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
entry->name = MwStringDuplicate(dir->ffd.cFileName);
|
|
||||||
|
|
||||||
|
if(!dir->next) return NULL;
|
||||||
|
|
||||||
|
entry->name = MwStringDuplicate(dir->ffd.cFileName);
|
||||||
if(dir->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
if(dir->ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
||||||
entry->type = MwDIRECTORY_DIRECTORY;
|
entry->type = MwDIRECTORY_DIRECTORY;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -77,6 +73,8 @@ MwDirectoryEntry* MwDirectoryRead(void* handle) {
|
||||||
l = (ULARGE_INTEGER*)&dir->ffd.ftLastWriteTime;
|
l = (ULARGE_INTEGER*)&dir->ffd.ftLastWriteTime;
|
||||||
|
|
||||||
entry->mtime = l->QuadPart / 10000000 - 11644473600;
|
entry->mtime = l->QuadPart / 10000000 - 11644473600;
|
||||||
|
|
||||||
|
dir->next = FindNextFile(dir->hFind, &dir->ffd);
|
||||||
#else
|
#else
|
||||||
struct dirent* d;
|
struct dirent* d;
|
||||||
struct stat s;
|
struct stat s;
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@ void MwStringPrintIntoBuffer(char* out, MwU32 size, const char* fmt, ...) {
|
||||||
|
|
||||||
MWDECL MwBool MwStringIsKeyUTF8(MwU32 key) {
|
MWDECL MwBool MwStringIsKeyUTF8(MwU32 key) {
|
||||||
unsigned char bytes[sizeof(MwU32)];
|
unsigned char bytes[sizeof(MwU32)];
|
||||||
|
int i;
|
||||||
memcpy(bytes, &key, sizeof(MwU32));
|
memcpy(bytes, &key, sizeof(MwU32));
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
for(i = 0; i < sizeof(MwU32); i++) {
|
for(i = 0; i < sizeof(MwU32); i++) {
|
||||||
if(( // ASCII
|
if(( // ASCII
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue