static void filelist_read_dir(struct FileList* filelist) { char wdir[FILE_MAX]= ""; if (!filelist) return; filelist->fidx = NULL; filelist->filelist = NULL; BLI_current_working_dir(wdir, sizeof(wdir)); /* backup cwd to restore after */ BLI_cleanup_dir(G.main->name, filelist->dir); filelist->numfiles = BLI_dir_contents(filelist->dir, &(filelist->filelist)); if (!chdir(wdir)) {} /* fix warning about not checking return value */ filelist_setfiletypes(filelist); filelist_filter(filelist); }
static void filelist_read_dir(struct FileList *filelist) { if (!filelist) return; filelist->fidx = NULL; filelist->filelist = NULL; BLI_make_exist(filelist->dir); BLI_cleanup_dir(G.main->name, filelist->dir); filelist->numfiles = BLI_filelist_dir_contents(filelist->dir, &(filelist->filelist)); /* We shall *never* get an empty list here, since we now the dir exists and is readable * (ensured by BLI_make_exist()). So we expect at the very least the parent '..' entry. */ BLI_assert(filelist->numfiles != 0); filelist_setfiletypes(filelist); }