Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/makesrna.c
| Show First 20 Lines • Show All 992 Lines • ▼ Show 20 Lines | |||||
| rna_print_data_get(f, dp); | rna_print_data_get(f, dp); | ||||
| if (dp->dnapointerlevel == 1) { | if (dp->dnapointerlevel == 1) { | ||||
| /* Handle allocated char pointer properties. */ | /* Handle allocated char pointer properties. */ | ||||
| fprintf( | fprintf( | ||||
| f, " if (data->%s != NULL) { MEM_freeN(data->%s); }\n", dp->dnaname, dp->dnaname); | f, " if (data->%s != NULL) { MEM_freeN(data->%s); }\n", dp->dnaname, dp->dnaname); | ||||
| fprintf(f, " const int length = strlen(value);\n"); | fprintf(f, " const int length = strlen(value);\n"); | ||||
| fprintf(f, " data->%s = MEM_mallocN(length + 1, __func__);\n", dp->dnaname); | fprintf(f, " if (length > 0) {\n"); | ||||
| fprintf(f, " %s(data->%s, value, length + 1);\n", string_copy_func, dp->dnaname); | fprintf(f, " data->%s = MEM_mallocN(length + 1, __func__);\n", dp->dnaname); | ||||
| fprintf(f, " %s(data->%s, value, length + 1);\n", string_copy_func, dp->dnaname); | |||||
| fprintf(f, " } else { data->%s = NULL; }\n", dp->dnaname); | |||||
| } | } | ||||
| else { | else { | ||||
| /* Handle char array properties. */ | /* Handle char array properties. */ | ||||
| if (sprop->maxlength) { | if (sprop->maxlength) { | ||||
| fprintf(f, | fprintf(f, | ||||
| " %s(data->%s, value, %d);\n", | " %s(data->%s, value, %d);\n", | ||||
| string_copy_func, | string_copy_func, | ||||
| dp->dnaname, | dp->dnaname, | ||||
| ▲ Show 20 Lines • Show All 992 Lines • Show Last 20 Lines | |||||