diff options
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/armature/editarmature.c | 2 | ||||
-rw-r--r-- | source/blender/editors/interface/interface.c | 16 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_draw.c | 5 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 24 | ||||
-rw-r--r-- | source/blender/editors/interface/resources.c | 6 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_loop.c | 5 | ||||
-rw-r--r-- | source/blender/editors/physics/physics_fluid.c | 39 | ||||
-rw-r--r-- | source/blender/editors/space_file/file_ops.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_file/filesel.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_add.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 3 |
11 files changed, 46 insertions, 70 deletions
diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c index e7bff9ec203..5c5def9284e 100644 --- a/source/blender/editors/armature/editarmature.c +++ b/source/blender/editors/armature/editarmature.c @@ -5439,8 +5439,6 @@ void unique_bone_name(bArmature *arm, char *name) BLI_uniquename_cb(bone_unique_check, (void *)arm, "Bone", '.', name, sizeof(((Bone *)NULL)->name)); } - -#define MAXBONENAME 32 /* helper call for armature_bone_rename */ static void constraint_bone_name_fix(Object *ob, ListBase *conlist, char *oldname, char *newname) { diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 52e9ae6894e..48141a4eeb4 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -664,7 +664,7 @@ void ui_menu_block_set_keymaps(const bContext *C, uiBlock *block) { uiBut *but; IDProperty *prop; - char buf[512], *butstr; + char buf[512]; /* only do it before bounding */ if(block->minx != block->maxx) @@ -675,15 +675,10 @@ void ui_menu_block_set_keymaps(const bContext *C, uiBlock *block) prop= (but->opptr)? but->opptr->data: NULL; if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) { - butstr= MEM_mallocN(strlen(but->str)+strlen(buf)+2, "menu_block_set_keymaps"); - strcpy(butstr, but->str); - strcat(butstr, "|"); - strcat(butstr, buf); - + char *butstr_orig= BLI_strdup(but->str); + BLI_snprintf(but->strdata, sizeof(but->strdata), "%s|%s", butstr_orig, buf); + MEM_freeN(butstr_orig); but->str= but->strdata; - BLI_strncpy(but->str, butstr, sizeof(but->strdata)); - MEM_freeN(butstr); - ui_check_but(but); } } @@ -2162,8 +2157,7 @@ void ui_check_but(uiBut *but) ui_get_but_string(but, str, UI_MAX_DRAW_STR-strlen(but->str)); - strcpy(but->drawstr, but->str); - strcat(but->drawstr, str); + BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, str); } break; diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 4ea0c01d15c..d6258d20b52 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -553,8 +553,6 @@ static void ui_draw_but_CHARTAB(uiBut *but) /* Set the font, in case it is not FO_BUILTIN_NAME font */ if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME)) { - char tmpStr[256]; - // Is the font file packed, if so then use the packed file if(G.selfont->packedfile) { @@ -563,9 +561,10 @@ static void ui_draw_but_CHARTAB(uiBut *but) } else { + char tmpStr[256]; int err; - strcpy(tmpStr, G.selfont->name); + BLI_strncpy(tmpStr, G.selfont->name, sizeof(tmpStr)); BLI_path_abs(tmpStr, G.main->name); err = FTF_SetFont((unsigned char *)tmpStr, 0, 14.0); } diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index d912610637f..8c91030704c 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -3968,35 +3968,31 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event)) uiBut *but = (uiBut *)arg1; if (but->optype) { - char buf[512], *butstr, *cpoin; + char buf[512], *cpoin; IDProperty *prop= (but->opptr)? but->opptr->data: NULL; /* complex code to change name of button */ if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) { wmKeyMap *km= NULL; + char *butstr_orig; - butstr= MEM_mallocN(strlen(but->str)+strlen(buf)+2, "menu_block_set_keymaps"); - // XXX but->str changed... should not, remove the hotkey from it cpoin= strchr(but->str, '|'); if(cpoin) *cpoin= 0; - - strcpy(butstr, but->str); - strcat(butstr, "|"); - strcat(butstr, buf); - + + butstr_orig= BLI_strdup(but->str); + BLI_snprintf(but->strdata, sizeof(but->strdata), "%s|%s", butstr_orig, buf); + MEM_freeN(butstr_orig); but->str= but->strdata; - BLI_strncpy(but->str, butstr, sizeof(but->strdata)); - MEM_freeN(butstr); - + ui_check_but(but); - + /* set the keymap editable else the key wont save */ WM_key_event_operator_id(C, but->optype->idname, but->opcontext, prop, 1, &km); WM_keymap_copy_to_user(km); - - } else { + } + else { /* shortcut was removed */ cpoin= strchr(but->str, '|'); if(cpoin) *cpoin= 0; diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 52e9a395c4e..9ab45ae648b 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -1004,10 +1004,8 @@ void init_userdef_do_versions(void) U.tb_rightmouse= 5; } if(U.mixbufsize==0) U.mixbufsize= 2048; - if (BLI_streq(U.tempdir, "/")) { - char *tmp= getenv("TEMP"); - - strcpy(U.tempdir, tmp?tmp:"/tmp/"); + if (strcmp(U.tempdir, "/") == 0) { + BLI_where_is_temp(U.tempdir, sizeof(U.tempdir), FALSE); } if (U.autokey_mode == 0) { /* 'add/replace' but not on */ diff --git a/source/blender/editors/mesh/editmesh_loop.c b/source/blender/editors/mesh/editmesh_loop.c index 4ffd458d66c..451c341817b 100644 --- a/source/blender/editors/mesh/editmesh_loop.c +++ b/source/blender/editors/mesh/editmesh_loop.c @@ -220,9 +220,8 @@ void CutEdgeloop(Object *obedit, wmOperator *op, EditMesh *em, int numcuts) dist= 50; nearest = findnearestedge(&vc, &dist); // returns actual distance in dist // scrarea_do_windraw(curarea); // after findnearestedge, backbuf! - - sprintf(msg,"Number of Cuts: %d (S)mooth: ",numcuts); - strcat(msg, smooth ? "on":"off"); + + BLI_snprintf(msg, sizeof(msg),"Number of Cuts: %d (S)mooth: %s", numcuts, smooth ? "on":"off"); // headerprint(msg); /* Need to figure preview */ diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c index 4e08dd49703..608c0f70c3e 100644 --- a/source/blender/editors/physics/physics_fluid.c +++ b/source/blender/editors/physics/physics_fluid.c @@ -641,10 +641,10 @@ static int fluid_init_filepaths(Object *fsDomain, char *targetDir, char *targetF strncpy(targetDir, domainSettings->surfdataPath, FILE_MAXDIR); strncpy(newSurfdataPath, domainSettings->surfdataPath, FILE_MAXDIR); BLI_path_abs(targetDir, G.main->name); // fixed #frame-no - - strcpy(targetFile, targetDir); - strcat(targetFile, suffixConfig); - strcat(targetFile,".tmp"); // dont overwrite/delete original file + + // .tmp: dont overwrite/delete original file + BLI_snprintf(targetFile, sizeof(targetFile), "%s%s.tmp", targetDir, suffixConfig); + // make sure all directories exist // as the bobjs use the same dir, this only needs to be checked // for the cfg output @@ -664,19 +664,13 @@ static int fluid_init_filepaths(Object *fsDomain, char *targetDir, char *targetF char blendFile[FILE_MAXDIR+FILE_MAXFILE]; // invalid dir, reset to current/previous - strcpy(blendDir, G.main->name); + BLI_strncpy(blendDir, G.main->name, sizeof(blendDir)); BLI_splitdirstring(blendDir, blendFile); - if(BLI_strnlen(blendFile, 7) > 6){ - int len = strlen(blendFile); - if( (blendFile[len-6]=='.')&& (blendFile[len-5]=='b')&& (blendFile[len-4]=='l')&& - (blendFile[len-3]=='e')&& (blendFile[len-2]=='n')&& (blendFile[len-1]=='d') ){ - blendFile[len-6] = '\0'; - } - } - // todo... strip .blend ? - snprintf(newSurfdataPath,FILE_MAXFILE+FILE_MAXDIR,"//fluidsimdata/%s_%s_", blendFile, fsDomain->id.name); + BLI_replace_extension(blendFile, sizeof(blendFile), ""); /* strip .blend */ + + BLI_snprintf(newSurfdataPath, sizeof(newSurfdataPath) ,"//fluidsimdata/%s_%s_", blendFile, fsDomain->id.name); - snprintf(debugStrBuffer,256,"fluidsimBake::error - warning resetting output dir to '%s'\n", newSurfdataPath); + BLI_snprintf(debugStrBuffer, sizeof(debugStrBuffer), "fluidsimBake::error - warning resetting output dir to '%s'\n", newSurfdataPath); elbeemDebugOut(debugStrBuffer); outStringsChanged=1; } @@ -686,14 +680,14 @@ static int fluid_init_filepaths(Object *fsDomain, char *targetDir, char *targetF if(outStringsChanged) { char dispmsg[FILE_MAXDIR+FILE_MAXFILE+256]; int selection=0; - strcpy(dispmsg,"Output settings set to: '"); + BLI_strncpy(dispmsg,"Output settings set to: '", sizeof(dispmsg)); strcat(dispmsg, newSurfdataPath); strcat(dispmsg, "'%t|Continue with changed settings%x1|Discard and abort%x0"); // ask user if thats what he/she wants... selection = pupmenu(dispmsg); if(selection<1) return 0; // 0 from menu, or -1 aborted - strcpy(targetDir, newSurfdataPath); + BLI_strncpy(targetDir, newSurfdataPath, sizeof(targetDir)); strncpy(domainSettings->surfdataPath, newSurfdataPath, FILE_MAXDIR); BLI_path_abs(targetDir, G.main->name); // fixed #frame-no } @@ -957,9 +951,8 @@ int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain) } /* ******** start writing / exporting ******** */ - strcpy(targetFile, targetDir); - strcat(targetFile, suffixConfig); - strcat(targetFile,".tmp"); // dont overwrite/delete original file + // use .tmp, dont overwrite/delete original file + BLI_snprintf(targetFile, sizeof(targetFile), "%s%s.tmp", targetDir, suffixConfig); // make sure these directories exist as well if(outStringsChanged) { @@ -987,8 +980,8 @@ int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain) fsset->aniFrameTime = channels->aniFrameTime; fsset->noOfFrames = noFrames; // is otherwise subtracted in parser - strcpy(targetFile, targetDir); - strcat(targetFile, suffixSurface); + BLI_snprintf(targetFile, sizeof(targetFile), "%s%s", targetDir, suffixSurface); + // defaults for compressibility and adaptive grids fsset->gstar = domainSettings->gstar; fsset->maxRefine = domainSettings->maxRefine; // check <-> gridlevels @@ -997,7 +990,7 @@ int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain) fsset->surfaceSmoothing = domainSettings->surfaceSmoothing; fsset->surfaceSubdivs = domainSettings->surfaceSubdivs; fsset->farFieldSize = domainSettings->farFieldSize; - strcpy( fsset->outputPath, targetFile); + BLI_strncpy(fsset->outputPath, targetFile, sizeof(fsset->outputPath)); // domain channels fsset->channelSizeFrameTime = diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index 55dc19d9bb9..fea50f1f2aa 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -541,7 +541,7 @@ void FILE_OT_cancel(struct wmOperatorType *ot) void file_sfile_to_operator(wmOperator *op, SpaceFile *sfile, char *filepath) { - BLI_join_dirfile(filepath, sfile->params->dir, sfile->params->file); + BLI_join_dirfile(filepath, FILE_MAX, sfile->params->dir, sfile->params->file); /* XXX, not real length */ if(RNA_struct_find_property(op->ptr, "relative_path")) { if(RNA_boolean_get(op->ptr, "relative_path")) { BLI_path_rel(filepath, G.main->name); @@ -639,7 +639,7 @@ int file_draw_check_exists(SpaceFile *sfile) if(RNA_struct_find_property(sfile->op->ptr, "check_existing")) { if(RNA_boolean_get(sfile->op->ptr, "check_existing")) { char filepath[FILE_MAX]; - BLI_join_dirfile(filepath, sfile->params->dir, sfile->params->file); + BLI_join_dirfile(filepath, sizeof(filepath), sfile->params->dir, sfile->params->file); if(BLI_exists(filepath) && !BLI_is_dir(filepath)) { return TRUE; } @@ -929,13 +929,13 @@ static int new_folder_path(const char* parent, char *folder, char *name) int len = 0; BLI_strncpy(name, "New Folder", FILE_MAXFILE); - BLI_join_dirfile(folder, parent, name); + BLI_join_dirfile(folder, FILE_MAX, parent, name); /* XXX, not real length */ /* check whether folder with the name already exists, in this case add number to the name. Check length of generated name to avoid crazy case of huge number of folders each named 'New Folder (x)' */ while (BLI_exists(folder) && (len<FILE_MAXFILE)) { len = BLI_snprintf(name, FILE_MAXFILE, "New Folder(%d)", i); - BLI_join_dirfile(folder, parent, name); + BLI_join_dirfile(folder, FILE_MAX, parent, name); /* XXX, not real length */ i++; } @@ -1017,8 +1017,8 @@ static void file_expand_directory(bContext *C) if(sfile->params) { if ( sfile->params->dir[0] == '~' ) { char tmpstr[sizeof(sfile->params->dir)-1]; - strncpy(tmpstr, sfile->params->dir+1, sizeof(tmpstr)); - BLI_join_dirfile(sfile->params->dir, BLI_getDefaultDocumentFolder(), tmpstr); + BLI_strncpy(tmpstr, sfile->params->dir+1, sizeof(tmpstr)); + BLI_join_dirfile(sfile->params->dir, sizeof(sfile->params->dir), BLI_getDefaultDocumentFolder(), tmpstr); } #ifdef WIN32 diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index 939a8450cb6..6453b527770 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -555,7 +555,7 @@ void autocomplete_directory(struct bContext *C, char *str, void *UNUSED(arg_v)) char path[FILE_MAX]; struct stat status; - BLI_join_dirfile(path, dirname, de->d_name); + BLI_join_dirfile(path, sizeof(path), dirname, de->d_name); if (stat(path, &status) == 0) { if (S_ISDIR(status.st_mode)) { /* is subdir */ diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index c1e01e2ac53..24142e0b898 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -315,7 +315,7 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad RNA_BEGIN(op->ptr, itemptr, "files") { RNA_string_get(&itemptr, "name", file_only); - BLI_join_dirfile(seq_load.path, dir_only, file_only); + BLI_join_dirfile(seq_load.path, sizeof(seq_load.path), dir_only, file_only); seq= seq_load_func(C, ed->seqbasep, &seq_load); } diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 47dff6face4..505b38147f7 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -1060,8 +1060,7 @@ void seq_remap_paths(Scene *scene) BLI_strncpy(stripped, seq->strip->dir + strlen(from), FILE_MAX); /* new path */ - BLI_strncpy(seq->strip->dir, to, FILE_MAX); - strcat(seq->strip->dir, stripped); + BLI_snprintf(seq->strip->dir, sizeof(seq->strip->dir), "%s%s", to, stripped); printf("new %s\n", seq->strip->dir); } } |