[brlcad-commits] CVS: brlcad/src/mged clone.c,1.44,1.45
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Erik G. <eri...@us...> - 2007-10-22 19:58:36
|
Update of /cvsroot/brlcad/brlcad/src/mged In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3543 Modified Files: clone.c Log Message: retain 2nd (3rd? 87th?) number if no -c option is given Index: clone.c =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/mged/clone.c,v retrieving revision 1.44 retrieving revision 1.45 diff -w -u -r1.44 -r1.45 --- clone.c 22 Oct 2007 19:48:32 -0000 1.44 +++ clone.c 22 Oct 2007 19:58:39 -0000 1.45 @@ -209,17 +209,17 @@ get_name(struct db_i *_dbip, struct directory *dp, struct clone_state *state, int iter) { struct bu_vls *newname; - char prefix[BUFSIZ] = {0}, suffix[BUFSIZ] = {0}, buf[BUFSIZ] = {0}; + char prefix[BUFSIZ] = {0}, suffix[BUFSIZ] = {0}, buf[BUFSIZ] = {0}, suffix2[BUFSIZ] = {0}; int num = 0, i = 1, j = 0; newname = bu_vls_vlsinit(); /* Ugh. This needs much repair/cleanup. */ - if( state->updpos == 0 ) - sscanf(dp->d_namep, "%[!-/,:-~]%d%[!-/,:-~]", &prefix, &num, &suffix); - else if ( state->updpos == 1 ) { + if( state->updpos == 0 ) { + sscanf(dp->d_namep, "%[!-/,:-~]%d%[!-/,:-~]%s", &prefix, &num, &suffix, &suffix2); + strncat(suffix, suffix2, BUFSIZ); + } else if ( state->updpos == 1 ) { int num2 = 0; - char suffix2[BUFSIZ] = {0}; sscanf(dp->d_namep, "%[!-/,:-~]%d%[!-/,:-~]%d%[!-/,:-~]", &prefix, &num2, &suffix2, &num, &suffix); snprintf(prefix, BUFSIZ, "%s%d%s", prefix, num2, suffix2); } else |