[Bf-blender-cvs] [d78819c] asset-experiments: Cleanup of ugly allocation stuff (cast of void pointer, not-so-safe sizeof()'s, etc.).
Bastien Montagne
noreply at git.blender.org
Sun Feb 15 16:57:34 CET 2015
Commit: d78819caf9cac1ceafc1f70bda155dd852d4574c
Author: Bastien Montagne
Date: Sun Feb 15 15:28:16 2015 +0100
Branches: asset-experiments
https://developer.blender.org/rBd78819caf9cac1ceafc1f70bda155dd852d4574c
Cleanup of ugly allocation stuff (cast of void pointer, not-so-safe sizeof()'s, etc.).
===================================================================
M source/blender/editors/space_file/filelist.c
===================================================================
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index b08a010..f59d635 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -97,7 +97,7 @@ typedef struct FolderList {
ListBase *folderlist_new(void)
{
- ListBase *p = MEM_callocN(sizeof(ListBase), "folderlist");
+ ListBase *p = MEM_callocN(sizeof(*p), __func__);
return p;
}
@@ -134,7 +134,7 @@ void folderlist_pushdir(ListBase *folderlist, const char *dir)
}
/* create next folder element */
- folder = (FolderList *)MEM_mallocN(sizeof(FolderList), "FolderList");
+ folder = MEM_mallocN(sizeof(*folder), __func__);
folder->foldername = BLI_strdup(dir);
/* add it to the end of the list */
@@ -184,7 +184,7 @@ ListBase *folderlist_duplicate(ListBase *folderlist)
{
if (folderlist) {
- ListBase *folderlistn = MEM_callocN(sizeof(ListBase), "copy folderlist");
+ ListBase *folderlistn = MEM_callocN(sizeof(*folderlistn), __func__);
FolderList *folder;
BLI_duplicatelist(folderlistn, folderlist);
@@ -643,7 +643,7 @@ void filelist_filter(FileList *filelist)
}
/* Note: maybe we could even accept filelist->fidx to be filelist->numfiles -len allocated? */
- filelist->fidx = (int *)MEM_mallocN(sizeof(*filelist->fidx) * (size_t)num_filtered, __func__);
+ filelist->fidx = MEM_mallocN(sizeof(*filelist->fidx) * (size_t)num_filtered, __func__);
memcpy(filelist->fidx, fidx_tmp, sizeof(*filelist->fidx) * (size_t)num_filtered);
filelist->numfiltered = num_filtered;
@@ -934,7 +934,7 @@ static void filelist_checkdir_main(struct FileList *filelist, char *r_dir)
FileList *filelist_new(short type)
{
- FileList *p = MEM_callocN(sizeof(FileList), "filelist");
+ FileList *p = MEM_callocN(sizeof(*p), __func__);
switch (type) {
case FILE_MAIN:
@@ -967,7 +967,10 @@ void filelist_clear(struct FileList *filelist)
filelist->fidx = NULL;
}
- BLI_filelist_free(filelist->filelist, filelist->numfiles, NULL);
+ if (filelist->filelist) {
+ BLI_filelist_free(filelist->filelist, filelist->numfiles, NULL);
+ }
+
filelist->numfiles = 0;
filelist->filelist = NULL;
filelist->numfiltered = 0;
@@ -1395,10 +1398,10 @@ static void filelist_readjob_merge_sublist(
struct direntry *new_filelist;
*filelist_buff_size = new_numfiles * 2;
- new_filelist = malloc(sizeof(*new_filelist) * (size_t)*filelist_buff_size);
+ new_filelist = MEM_mallocN(sizeof(*new_filelist) * (size_t)*filelist_buff_size, __func__);
if (*filelist_buff && *filelist_used_size) {
memcpy(new_filelist, *filelist_buff, sizeof(*new_filelist) * (size_t)*filelist_used_size);
- free(*filelist_buff);
+ MEM_freeN(*filelist_buff);
}
*filelist_buff = new_filelist;
}
@@ -1488,7 +1491,7 @@ static void filelist_readjob_list_lib(const char *root, struct direntry **files,
BLI_assert(*files == NULL);
*num_files = nnames + 1;
- *files = calloc(*num_files, sizeof(**files));
+ *files = MEM_callocN(sizeof(**files) * (size_t)*num_files, __func__);
(*files)[nnames].relname = BLI_strdup(FILENAME_PARENT);
(*files)[nnames].type |= S_IFDIR;
@@ -1565,7 +1568,7 @@ static void filelist_readjob_main_rec(struct FileList *filelist)
#else
filelist->numfiles = 23;
#endif
- filelist->filelist = (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry));
+ filelist->filelist = MEM_mallocN(filelist->numfiles * sizeof(struct direntry), __func__);
for (a = 0; a < filelist->numfiles; a++) {
memset(&(filelist->filelist[a]), 0, sizeof(struct direntry));
@@ -1619,7 +1622,7 @@ static void filelist_readjob_main_rec(struct FileList *filelist)
/* XXXXX TODO: if databrowse F4 or append/link filelist->hide_parent has to be set */
if (!filelist->filter_data.hide_parent) filelist->numfiles += 1;
- filelist->filelist = filelist->numfiles > 0 ? (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry)) : NULL;
+ filelist->filelist = filelist->numfiles > 0 ? MEM_mallocN(sizeof(*filelist->filelist) * filelist->numfiles, __func__) : NULL;
files = filelist->filelist;
@@ -1643,7 +1646,7 @@ static void filelist_readjob_main_rec(struct FileList *filelist)
files->relname = BLI_strdup(id->name + 2);
}
else {
- files->relname = MEM_mallocN(FILE_MAX + (MAX_ID_NAME - 2), "filename for lib");
+ files->relname = MEM_mallocN(sizeof(*files->relname) * (FILE_MAX + (MAX_ID_NAME - 2)), __func__);
BLI_snprintf(files->relname, FILE_MAX + (MAX_ID_NAME - 2) + 3, "%s | %s", id->lib->name, id->name + 2);
}
files->type |= S_IFREG;
@@ -1900,7 +1903,7 @@ void filelist_readjob_start(FileList *filelist, const bContext *C)
FileListReadJob *flrj;
/* prepare job data */
- flrj = MEM_callocN(sizeof(FileListReadJob), __func__);
+ flrj = MEM_callocN(sizeof(*flrj), __func__);
flrj->filelist = filelist;
BLI_strncpy(flrj->main_name, G.main->name, sizeof(flrj->main_name));
@@ -2038,7 +2041,7 @@ void thumbnails_start(FileList *filelist, const bContext *C)
int idx;
/* prepare job data */
- tj = MEM_callocN(sizeof(ThumbnailJob), "thumbnails\n");
+ tj = MEM_callocN(sizeof(*tj), __func__);
tj->filelist = filelist;
for (idx = 0; idx < filelist->numfiles; idx++) {
if (!filelist->filelist[idx].path) {
@@ -2048,7 +2051,7 @@ void thumbnails_start(FileList *filelist, const bContext *C)
if (filelist->filelist[idx].flags & (FILE_TYPE_IMAGE | FILE_TYPE_MOVIE |
FILE_TYPE_BLENDER | FILE_TYPE_BLENDER_BACKUP))
{
- FileImage *limg = MEM_callocN(sizeof(FileImage), "loadimage");
+ FileImage *limg = MEM_callocN(sizeof(*limg), __func__);
BLI_strncpy(limg->path, filelist->filelist[idx].path, sizeof(limg->path));
limg->index = idx;
limg->flags = filelist->filelist[idx].flags;
More information about the Bf-blender-cvs
mailing list