コード例 #1
0
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);
}
コード例 #2
0
ファイル: filelist.c プロジェクト: bitfusionio/blender
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);
}