Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2015-01-03 14:27:40 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-01-03 14:41:36 +0300
commitb137f06d7ecc7beae3b9fbeba0a71b324198c7e2 (patch)
treeefef56b487ec1907a145bc0b130072fcced4b856
parent780bb88a7a5b30eaf8a62b999a30ac7bb4153ebf (diff)
Cleanup: rename 'filelist' BLI funcs to consistent naming.
Also, add an optional callback to `BLI_filelist_free()` to allow freein void poin if needed (consistency with `BLI_filelist_duplicate()`...).
-rw-r--r--source/blender/blenlib/BLI_fileops.h6
-rw-r--r--source/blender/blenlib/intern/fileops.c4
-rw-r--r--source/blender/blenlib/intern/storage.c11
-rw-r--r--source/blender/editors/interface/interface_icons.c4
-rw-r--r--source/blender/editors/interface/interface_templates.c2
-rw-r--r--source/blender/editors/space_file/filelist.c4
6 files changed, 18 insertions, 13 deletions
diff --git a/source/blender/blenlib/BLI_fileops.h b/source/blender/blenlib/BLI_fileops.h
index 8e056651f7f..7b67a4fd7f4 100644
--- a/source/blender/blenlib/BLI_fileops.h
+++ b/source/blender/blenlib/BLI_fileops.h
@@ -88,11 +88,13 @@ void BLI_dir_create_recursive(const char *dir);
double BLI_dir_free_space(const char *dir);
char *BLI_current_working_dir(char *dir, const size_t maxlen);
-unsigned int BLI_dir_contents(const char *dir, struct direntry **filelist);
+/* Filelist */
+
+unsigned int BLI_filelist_dir_contents(const char *dir, struct direntry **filelist);
void BLI_filelist_duplicate(
struct direntry **dest_filelist, struct direntry *src_filelist, unsigned int nrentries,
void *(*dup_poin)(void *));
-void BLI_free_filelist(struct direntry *filelist, unsigned int nrentries);
+void BLI_filelist_free(struct direntry *filelist, unsigned int nrentries, void (free_poin)(void *));
/* Files */
diff --git a/source/blender/blenlib/intern/fileops.c b/source/blender/blenlib/intern/fileops.c
index 99b9f7931d8..62e1b6e4cbf 100644
--- a/source/blender/blenlib/intern/fileops.c
+++ b/source/blender/blenlib/intern/fileops.c
@@ -311,7 +311,7 @@ static bool delete_recursive(const char *dir)
bool err = false;
unsigned int nbr, i;
- i = nbr = BLI_dir_contents(dir, &filelist);
+ i = nbr = BLI_filelist_dir_contents(dir, &filelist);
fl = filelist;
while (i--) {
char file[8];
@@ -336,7 +336,7 @@ static bool delete_recursive(const char *dir)
err = true;
}
- BLI_free_filelist(filelist, nbr);
+ BLI_filelist_free(filelist, nbr, NULL);
return err;
}
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index 78057b1655f..3e680cc8c5a 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -385,9 +385,11 @@ static void bli_adddirstrings(struct BuildDirCtx *dir_ctx)
/**
* Scans the contents of the directory named *dirname, and allocates and fills in an
- * array of entries describing them in *filelist. The length of the array is the function result.
+ * array of entries describing them in *filelist.
+ *
+ * \return The length of filelist array.
*/
-unsigned int BLI_dir_contents(const char *dirname, struct direntry **filelist)
+unsigned int BLI_filelist_dir_contents(const char *dirname, struct direntry **filelist)
{
struct BuildDirCtx dir_ctx;
@@ -443,7 +445,7 @@ void BLI_filelist_duplicate(
/**
* frees storage for an array of direntries, including the array itself.
*/
-void BLI_free_filelist(struct direntry *filelist, unsigned int nrentries)
+void BLI_filelist_free(struct direntry *filelist, unsigned int nrentries, void (*free_poin)(void *))
{
unsigned int i;
for (i = 0; i < nrentries; ++i) {
@@ -455,7 +457,8 @@ void BLI_free_filelist(struct direntry *filelist, unsigned int nrentries)
MEM_freeN(entry->relname);
if (entry->path)
MEM_freeN(entry->path);
- /* entry->poin assumed not to point to anything needing freeing here */
+ if (entry->poin && free_poin)
+ free_poin(entry->poin);
}
free(filelist);
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index a54ced53e5e..cb5a26b1be3 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -708,7 +708,7 @@ static void init_iconfile_list(struct ListBase *list)
if (icondir == NULL)
return;
- totfile = BLI_dir_contents(icondir, &dir);
+ totfile = BLI_filelist_dir_contents(icondir, &dir);
for (i = 0; i < totfile; i++) {
if ((dir[i].type & S_IFREG)) {
@@ -756,7 +756,7 @@ static void init_iconfile_list(struct ListBase *list)
}
}
- BLI_free_filelist(dir, totfile);
+ BLI_filelist_free(dir, totfile, NULL);
dir = NULL;
}
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index e3fa591a60f..407843d663c 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -2672,7 +2672,7 @@ static void uilist_filter_items_default(struct uiList *ui_list, struct bContext
names = MEM_callocN(sizeof(StringCmp) * len, "StringCmp");
}
if (filter_raw[0]) {
- size_t idx = 0, slen = strlen(filter_raw);
+ size_t slen = strlen(filter_raw);
dyn_data->items_filter_flags = MEM_callocN(sizeof(int) * len, "items_filter_flags");
dyn_data->items_shown = 0;
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index f8248d9bcb5..abfa1ed5666 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -736,7 +736,7 @@ void filelist_free(struct FileList *filelist)
filelist->need_sorting = false;
filelist->sort = FILE_SORT_NONE;
- BLI_free_filelist(filelist->filelist, filelist->numfiles);
+ BLI_filelist_free(filelist->filelist, filelist->numfiles, NULL);
filelist->numfiles = 0;
filelist->filelist = NULL;
}
@@ -953,7 +953,7 @@ static void filelist_read_dir(struct FileList *filelist)
filelist->filelist = NULL;
BLI_cleanup_dir(G.main->name, filelist->dir);
- filelist->numfiles = BLI_dir_contents(filelist->dir, &(filelist->filelist));
+ filelist->numfiles = BLI_filelist_dir_contents(filelist->dir, &(filelist->filelist));
filelist_setfiletypes(filelist);
}