FLISTH DOSIOCALL file_list1st(const OEMCHAR *dir, FLINFO *fli) { OEMCHAR path[MAX_PATH]; file_cpyname(path, dir, NELEMENTS(path)); file_setseparator(path, NELEMENTS(path)); file_catname(path, str_wildcard, NELEMENTS(path)); TRACEOUT(("file_list1st %s", path)); #if defined(OEMCHAR_SAME_TCHAR) const TCHAR *tcharpath = path; #else TCHAR tcharpath[MAX_PATH]; oemtotchar(tcharpath, NELEMENTS(tcharpath), path, (UINT)-1); #endif HANDLE hdl; WIN32_FIND_DATA w32fd; hdl = FindFirstFile(tcharpath, &w32fd); if (hdl != INVALID_HANDLE_VALUE) { do { if (setflist(&w32fd, fli) == SUCCESS) { return(hdl); } } while(FindNextFile(hdl, &w32fd)); FindClose(hdl); } return(FLISTH_INVALID); }
BRESULT DOSIOCALL file_listnext(FLISTH hdl, FLINFO *fli) { WIN32_FIND_DATA w32fd; while(FindNextFile(hdl, &w32fd)) { if (setflist(&w32fd, fli) == SUCCESS) { return(SUCCESS); } } return(FAILURE); }
FLISTH file_list1st(const char *dir, FLINFO *fli) { char path[MAX_PATH]; HANDLE hdl; WIN32_FIND_DATA w32fd; file_cpyname(path, dir, sizeof(path)); file_setseparator(path, sizeof(path)); file_catname(path, "*.*", sizeof(path)); hdl = FindFirstFile(path, &w32fd); if (hdl != INVALID_HANDLE_VALUE) { do { if (setflist(&w32fd, fli) == SUCCESS) { return(hdl); } } while(FindNextFile(hdl, &w32fd)); FindClose(hdl); } return(FLISTH_INVALID); }