|
|
| version 1.1, 2003/10/16 17:58:43 | version 1.3, 2004/01/09 04:36:03 |
|---|---|
| Line 253 short file_attr_c(const char *path) { | Line 253 short file_attr_c(const char *path) { |
| } | } |
| FILEFINDH file_find1st(const char *path, FILEFINDT *fft) { | FLISTH file_list1st(const char *dir, FLINFO *fli) { |
| char path[MAX_PATH]; | |
| HANDLE hdl; | HANDLE hdl; |
| WIN32_FIND_DATA w32fd; | WIN32_FIND_DATA w32fd; |
| milsjis_ncpy(path, dir, sizeof(path)); | |
| file_setseparator(path, sizeof(path)); | |
| milsjis_ncat(path, "*.*", sizeof(path)); | |
| hdl = FindFirstFile_A(path, &w32fd); | hdl = FindFirstFile_A(path, &w32fd); |
| if (hdl == INVALID_HANDLE_VALUE) { | if ((hdl != INVALID_HANDLE_VALUE) && (fli)) { |
| return(FILEFINDH_INVALID); | |
| } | |
| if (fft) { | |
| #if defined(UNICODE) | #if defined(UNICODE) |
| WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1, | WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1, |
| fft->path, sizeof(fft->path), NULL, NULL); | fli->path, sizeof(fli->path), NULL, NULL); |
| #else | #else |
| milstr_ncpy(fft->path, w32fd.cFileName, sizeof(fft->path)); | milstr_ncpy(fli->path, w32fd.cFileName, sizeof(fli->path)); |
| #endif | #endif |
| fft->size = w32fd.nFileSizeLow; | fli->size = w32fd.nFileSizeLow; |
| fft->attr = w32fd.dwFileAttributes; | fli->attr = w32fd.dwFileAttributes; |
| } | } |
| return(hdl); | return(hdl); |
| } | } |
| BOOL file_findnext(FILEFINDH hdl, FILEFINDT *fft) { | BOOL file_listnext(FLISTH hdl, FLINFO *fli) { |
| WIN32_FIND_DATA w32fd; | WIN32_FIND_DATA w32fd; |
| if (!FindNextFile(hdl, &w32fd)) { | if (!FindNextFile(hdl, &w32fd)) { |
| return(FAILURE); | return(FAILURE); |
| } | } |
| if (fft) { | if (fli) { |
| #if defined(UNICODE) | #if defined(UNICODE) |
| WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1, | WideCharToMultiByte(CP_ACP, 0, w32fd.cFileName, -1, |
| fft->path, sizeof(fft->path), NULL, NULL); | fli->path, sizeof(fli->path), NULL, NULL); |
| #else | #else |
| milstr_ncpy(fft->path, w32fd.cFileName, sizeof(fft->path)); | milstr_ncpy(fli->path, w32fd.cFileName, sizeof(fli->path)); |
| #endif | #endif |
| fft->size = w32fd.nFileSizeLow; | fli->size = w32fd.nFileSizeLow; |
| fft->attr = w32fd.dwFileAttributes; | fli->attr = w32fd.dwFileAttributes; |
| } | } |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| void file_findclose(FILEFINDH hdl) { | void file_listclose(FLISTH hdl) { |
| if (hdl) { | FindClose(hdl); |
| FindClose(hdl); | |
| } | |
| } | } |