From fadad17c588115e0460b996afacaddb3b29d12d7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 1 Jul 2018 10:26:37 +0200 Subject: Cleanup: avoid calloc when immediately overwritten --- source/blender/makesrna/intern/rna_define.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/makesrna/intern/rna_define.c') diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index 2177c7b980a..14db1dbb847 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -3415,7 +3415,7 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA BoolPropertyRNA *bprop = (BoolPropertyRNA *)prop; if (bprop->defaultarray) { - iarray = MEM_callocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); + iarray = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); memcpy(iarray, bprop->defaultarray, sizeof(int) * prop->totarraylength); bprop->defaultarray = iarray; } @@ -3426,7 +3426,7 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA IntPropertyRNA *iprop = (IntPropertyRNA *)prop; if (iprop->defaultarray) { - iarray = MEM_callocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); + iarray = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); memcpy(iarray, iprop->defaultarray, sizeof(int) * prop->totarraylength); iprop->defaultarray = iarray; } @@ -3437,7 +3437,7 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA EnumPropertyRNA *eprop = (EnumPropertyRNA *)prop; if (eprop->item) { - earray = MEM_callocN(sizeof(EnumPropertyItem) * (eprop->totitem + 1), "RNA_def_property_store"); + earray = MEM_mallocN(sizeof(EnumPropertyItem) * (eprop->totitem + 1), "RNA_def_property_store"); memcpy(earray, eprop->item, sizeof(EnumPropertyItem) * (eprop->totitem + 1)); eprop->item = earray; @@ -3457,7 +3457,7 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA FloatPropertyRNA *fprop = (FloatPropertyRNA *)prop; if (fprop->defaultarray) { - farray = MEM_callocN(sizeof(float) * prop->totarraylength, "RNA_def_property_store"); + farray = MEM_mallocN(sizeof(float) * prop->totarraylength, "RNA_def_property_store"); memcpy(farray, fprop->defaultarray, sizeof(float) * prop->totarraylength); fprop->defaultarray = farray; } -- cgit v1.2.3 From 3ec6f2172d890972b46c26a72dd30122b697c101 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 1 Jul 2018 10:32:47 +0200 Subject: Cleanup: reduce variable scope --- source/blender/makesrna/intern/rna_define.c | 50 ++++++++++++++++------------- 1 file changed, 27 insertions(+), 23 deletions(-) (limited to 'source/blender/makesrna/intern/rna_define.c') diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index 14db1dbb847..68fac3bbcee 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -3389,9 +3389,6 @@ void RNA_def_func_free_pointers(FunctionRNA *func) void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA *prop) { ContainerRNA *cont = cont_; - EnumPropertyItem *earray; - float *farray; - int *iarray; int a; /* annoying since we just added this to a hash, could make this add the correct key to the hash @@ -3406,8 +3403,12 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA } } - if (prop->name) prop->name = BLI_strdup(prop->name); - if (prop->description) prop->description = BLI_strdup(prop->description); + if (prop->name) { + prop->name = BLI_strdup(prop->name); + } + if (prop->description) { + prop->description = BLI_strdup(prop->description); + } switch (prop->type) { case PROP_BOOLEAN: @@ -3415,9 +3416,9 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA BoolPropertyRNA *bprop = (BoolPropertyRNA *)prop; if (bprop->defaultarray) { - iarray = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); - memcpy(iarray, bprop->defaultarray, sizeof(int) * prop->totarraylength); - bprop->defaultarray = iarray; + int *array = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); + memcpy(array, bprop->defaultarray, sizeof(int) * prop->totarraylength); + bprop->defaultarray = array; } break; } @@ -3426,9 +3427,9 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA IntPropertyRNA *iprop = (IntPropertyRNA *)prop; if (iprop->defaultarray) { - iarray = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); - memcpy(iarray, iprop->defaultarray, sizeof(int) * prop->totarraylength); - iprop->defaultarray = iarray; + int *array = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); + memcpy(array, iprop->defaultarray, sizeof(int) * prop->totarraylength); + iprop->defaultarray = array; } break; } @@ -3437,17 +3438,20 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA EnumPropertyRNA *eprop = (EnumPropertyRNA *)prop; if (eprop->item) { - earray = MEM_mallocN(sizeof(EnumPropertyItem) * (eprop->totitem + 1), "RNA_def_property_store"); - memcpy(earray, eprop->item, sizeof(EnumPropertyItem) * (eprop->totitem + 1)); - eprop->item = earray; + EnumPropertyItem *array = MEM_mallocN(sizeof(EnumPropertyItem) * (eprop->totitem + 1), "RNA_def_property_store"); + memcpy(array, eprop->item, sizeof(EnumPropertyItem) * (eprop->totitem + 1)); + eprop->item = array; for (a = 0; a < eprop->totitem; a++) { - if (earray[a].identifier) - earray[a].identifier = BLI_strdup(earray[a].identifier); - if (earray[a].name) - earray[a].name = BLI_strdup(earray[a].name); - if (earray[a].description) - earray[a].description = BLI_strdup(earray[a].description); + if (array[a].identifier) { + array[a].identifier = BLI_strdup(array[a].identifier); + } + if (array[a].name) { + array[a].name = BLI_strdup(array[a].name); + } + if (array[a].description) { + array[a].description = BLI_strdup(array[a].description); + } } } break; @@ -3457,9 +3461,9 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA FloatPropertyRNA *fprop = (FloatPropertyRNA *)prop; if (fprop->defaultarray) { - farray = MEM_mallocN(sizeof(float) * prop->totarraylength, "RNA_def_property_store"); - memcpy(farray, fprop->defaultarray, sizeof(float) * prop->totarraylength); - fprop->defaultarray = farray; + float *array = MEM_mallocN(sizeof(float) * prop->totarraylength, "RNA_def_property_store"); + memcpy(array, fprop->defaultarray, sizeof(float) * prop->totarraylength); + fprop->defaultarray = array; } break; } -- cgit v1.2.3 From ddee0931b8687d01186f1941d483c6b3622d1833 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 1 Jul 2018 15:47:09 +0200 Subject: RNA: use bool for boolean RNA types We were using int's for bool arguments in BKE, just to avoid having wrapper functions. --- source/blender/makesrna/intern/rna_define.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'source/blender/makesrna/intern/rna_define.c') diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index 68fac3bbcee..697e23a414a 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -1633,7 +1633,7 @@ void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength) } } -void RNA_def_property_boolean_default(PropertyRNA *prop, int value) +void RNA_def_property_boolean_default(PropertyRNA *prop, bool value) { StructRNA *srna = DefRNA.laststruct; @@ -1652,7 +1652,7 @@ void RNA_def_property_boolean_default(PropertyRNA *prop, int value) } } -void RNA_def_property_boolean_array_default(PropertyRNA *prop, const int *array) +void RNA_def_property_boolean_array_default(PropertyRNA *prop, const bool *array) { StructRNA *srna = DefRNA.laststruct; @@ -2624,7 +2624,7 @@ void RNA_def_py_data(PropertyRNA *prop, void *py_data) /* Compact definitions */ -PropertyRNA *RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, int default_value, +PropertyRNA *RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description) { ContainerRNA *cont = cont_; @@ -2637,7 +2637,7 @@ PropertyRNA *RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, return prop; } -PropertyRNA *RNA_def_boolean_array(StructOrFunctionRNA *cont_, const char *identifier, int len, int *default_value, +PropertyRNA *RNA_def_boolean_array(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description) { ContainerRNA *cont = cont_; @@ -2651,7 +2651,7 @@ PropertyRNA *RNA_def_boolean_array(StructOrFunctionRNA *cont_, const char *ident return prop; } -PropertyRNA *RNA_def_boolean_layer(StructOrFunctionRNA *cont_, const char *identifier, int len, int *default_value, +PropertyRNA *RNA_def_boolean_layer(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description) { ContainerRNA *cont = cont_; @@ -2666,7 +2666,7 @@ PropertyRNA *RNA_def_boolean_layer(StructOrFunctionRNA *cont_, const char *ident } PropertyRNA *RNA_def_boolean_layer_member(StructOrFunctionRNA *cont_, const char *identifier, int len, - int *default_value, const char *ui_name, const char *ui_description) + bool *default_value, const char *ui_name, const char *ui_description) { ContainerRNA *cont = cont_; PropertyRNA *prop; @@ -2679,7 +2679,7 @@ PropertyRNA *RNA_def_boolean_layer_member(StructOrFunctionRNA *cont_, const char return prop; } -PropertyRNA *RNA_def_boolean_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, int *default_value, +PropertyRNA *RNA_def_boolean_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, bool *default_value, const char *ui_name, const char *ui_description) { ContainerRNA *cont = cont_; @@ -3218,6 +3218,7 @@ int rna_parameter_size(PropertyRNA *parm) if (len > 0) { switch (ptype) { case PROP_BOOLEAN: + return sizeof(bool) * len; case PROP_INT: return sizeof(int) * len; case PROP_FLOAT: @@ -3229,6 +3230,7 @@ int rna_parameter_size(PropertyRNA *parm) else { switch (ptype) { case PROP_BOOLEAN: + return sizeof(bool); case PROP_INT: case PROP_ENUM: return sizeof(int); @@ -3416,8 +3418,8 @@ void RNA_def_property_duplicate_pointers(StructOrFunctionRNA *cont_, PropertyRNA BoolPropertyRNA *bprop = (BoolPropertyRNA *)prop; if (bprop->defaultarray) { - int *array = MEM_mallocN(sizeof(int) * prop->totarraylength, "RNA_def_property_store"); - memcpy(array, bprop->defaultarray, sizeof(int) * prop->totarraylength); + bool *array = MEM_mallocN(sizeof(bool) * prop->totarraylength, "RNA_def_property_store"); + memcpy(array, bprop->defaultarray, sizeof(bool) * prop->totarraylength); bprop->defaultarray = array; } break; -- cgit v1.2.3