diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt index ec0c2d73bd8..6416376a539 100644 --- a/source/blender/blenlib/CMakeLists.txt +++ b/source/blender/blenlib/CMakeLists.txt @@ -142,7 +142,7 @@ set(SRC intern/string_ref.cc intern/string_search.cc intern/string_utf8.c - intern/string_utils.c + intern/string_utils.cc intern/system.c intern/task_graph.cc intern/task_iterator.c diff --git a/source/blender/blenlib/intern/string_utils.c b/source/blender/blenlib/intern/string_utils.cc similarity index 94% rename from source/blender/blenlib/intern/string_utils.c rename to source/blender/blenlib/intern/string_utils.cc index cd8c1462ad3..6a356eb87e0 100644 --- a/source/blender/blenlib/intern/string_utils.c +++ b/source/blender/blenlib/intern/string_utils.cc @@ -269,9 +269,9 @@ size_t BLI_string_flip_side_name(char *name_dst, BLI_string_debug_size(name_dst, name_dst_maxncpy); size_t len; - char *prefix = alloca(name_dst_maxncpy); /* The part before the facing */ - char *suffix = alloca(name_dst_maxncpy); /* The part after the facing */ - char *number = alloca(name_dst_maxncpy); /* The number extension string */ + char *prefix = static_cast(alloca(name_dst_maxncpy)); /* The part before the facing */ + char *suffix = static_cast(alloca(name_dst_maxncpy)); /* The part after the facing */ + char *number = static_cast(alloca(name_dst_maxncpy)); /* The number extension string */ const char *replace = NULL; char *index = NULL; bool is_set = false; @@ -400,8 +400,8 @@ void BLI_uniquename_cb(UniquenameCheckCallback unique_check, if (unique_check(arg, name)) { char numstr[16]; - char *tempname = alloca(name_maxncpy); - char *left = alloca(name_maxncpy); + char *tempname = static_cast(alloca(name_maxncpy)); + char *left = static_cast(alloca(name_maxncpy)); int number; size_t len = BLI_string_split_name_number(name, delim, left, &number); do { @@ -435,11 +435,10 @@ void BLI_uniquename_cb(UniquenameCheckCallback unique_check, */ static bool uniquename_find_dupe(ListBase *list, void *vlink, const char *name, int name_offset) { - Link *link; - - for (link = list->first; link; link = link->next) { + for (Link *link = static_cast(list->first); link; link = link->next) { if (link != vlink) { - if (STREQ(POINTER_OFFSET((const char *)link, name_offset), name)) { + if (STREQ(static_cast(POINTER_OFFSET((const char *)link, name_offset)), name)) + { return true; } } @@ -448,13 +447,16 @@ static bool uniquename_find_dupe(ListBase *list, void *vlink, const char *name, return false; } +struct UniqueNameCheckData { + ListBase *lb; + void *vlink; + int name_offset; +}; + static bool uniquename_unique_check(void *arg, const char *name) { - struct { - ListBase *lb; - void *vlink; - int name_offset; - } *data = arg; + UniqueNameCheckData *data = static_cast(arg); + return uniquename_find_dupe(data->lb, data->vlink, name, data->name_offset); } @@ -465,11 +467,7 @@ void BLI_uniquename(ListBase *list, int name_offset, size_t name_maxncpy) { - struct { - ListBase *lb; - void *vlink; - int name_offset; - } data; + UniqueNameCheckData data{}; data.lb = list; data.vlink = vlink; data.name_offset = name_offset; @@ -485,7 +483,7 @@ void BLI_uniquename(ListBase *list, &data, defname, delim, - POINTER_OFFSET(vlink, name_offset), + static_cast(POINTER_OFFSET(vlink, name_offset)), name_maxncpy); } @@ -562,7 +560,7 @@ size_t BLI_string_join_array_by_sep_char( char *BLI_string_join_arrayN(const char *strings[], uint strings_num) { const size_t result_size = BLI_string_len_array(strings, strings_num) + 1; - char *result = MEM_mallocN(sizeof(char) * result_size, __func__); + char *result = MEM_cnew_array(result_size, __func__); char *c = result; for (uint i = 0; i < strings_num; i++) { const size_t string_len = strlen(strings[i]); @@ -579,7 +577,7 @@ char *BLI_string_join_array_by_sep_charN(char sep, const char *strings[], uint s { const size_t result_size = BLI_string_len_array(strings, strings_num) + (strings_num ? strings_num - 1 : 0) + 1; - char *result = MEM_mallocN(sizeof(char) * result_size, __func__); + char *result = MEM_cnew_array(result_size, __func__); char *c = result; if (strings_num != 0) { for (uint i = 0; i < strings_num; i++) { @@ -609,7 +607,7 @@ char *BLI_string_join_array_by_sep_char_with_tableN(char sep, result_size = 1; } - char *result = MEM_mallocN(sizeof(char) * result_size, __func__); + char *result = MEM_cnew_array(result_size, __func__); char *c = result; if (strings_num != 0) { for (uint i = 0; i < strings_num; i++) {