use BLI_strncpy and BLI_snprintf when the size of the string is known.
fix for sequencer unique naming which was missed with string length update.
This commit is contained in:
@@ -59,6 +59,7 @@
|
||||
|
||||
#include "BLI_math.h"
|
||||
#include "BLI_utildefines.h"
|
||||
#include "BLI_string.h"
|
||||
|
||||
//#include "blendef.h"
|
||||
//
|
||||
@@ -552,7 +553,7 @@ static void applyObjectConstraintRot(TransInfo *t, TransData *td, float vec[3],
|
||||
|
||||
void setConstraint(TransInfo *t, float space[3][3], int mode, const char text[])
|
||||
{
|
||||
strncpy(t->con.text + 1, text, 48);
|
||||
BLI_strncpy(t->con.text + 1, text, sizeof(t->con.text) - 1);
|
||||
copy_m3_m3(t->con.mtx, space);
|
||||
t->con.mode = mode;
|
||||
getConstraintMatrix(t);
|
||||
@@ -579,7 +580,7 @@ void setLocalConstraint(TransInfo *t, int mode, const char text[])
|
||||
setConstraint(t, t->data->axismtx, mode, text);
|
||||
}
|
||||
else {
|
||||
strncpy(t->con.text + 1, text, 48);
|
||||
BLI_strncpy(t->con.text + 1, text, sizeof(t->con.text) - 1);
|
||||
copy_m3_m3(t->con.mtx, t->data->axismtx);
|
||||
t->con.mode = mode;
|
||||
getConstraintMatrix(t);
|
||||
@@ -598,7 +599,7 @@ void setLocalConstraint(TransInfo *t, int mode, const char text[])
|
||||
/*
|
||||
Set the constraint according to the user defined orientation
|
||||
|
||||
ftext is a format string passed to sprintf. It will add the name of
|
||||
ftext is a format string passed to BLI_snprintf. It will add the name of
|
||||
the orientation where %s is (logically).
|
||||
*/
|
||||
void setUserConstraint(TransInfo *t, short orientation, int mode, const char ftext[])
|
||||
@@ -609,28 +610,28 @@ void setUserConstraint(TransInfo *t, short orientation, int mode, const char fte
|
||||
case V3D_MANIP_GLOBAL:
|
||||
{
|
||||
float mtx[3][3]= MAT3_UNITY;
|
||||
sprintf(text, ftext, "global");
|
||||
BLI_snprintf(text, sizeof(text), ftext, "global");
|
||||
setConstraint(t, mtx, mode, text);
|
||||
}
|
||||
break;
|
||||
case V3D_MANIP_LOCAL:
|
||||
sprintf(text, ftext, "local");
|
||||
BLI_snprintf(text, sizeof(text), ftext, "local");
|
||||
setLocalConstraint(t, mode, text);
|
||||
break;
|
||||
case V3D_MANIP_NORMAL:
|
||||
sprintf(text, ftext, "normal");
|
||||
BLI_snprintf(text, sizeof(text), ftext, "normal");
|
||||
setConstraint(t, t->spacemtx, mode, text);
|
||||
break;
|
||||
case V3D_MANIP_VIEW:
|
||||
sprintf(text, ftext, "view");
|
||||
BLI_snprintf(text, sizeof(text), ftext, "view");
|
||||
setConstraint(t, t->spacemtx, mode, text);
|
||||
break;
|
||||
case V3D_MANIP_GIMBAL:
|
||||
sprintf(text, ftext, "gimbal");
|
||||
BLI_snprintf(text, sizeof(text), ftext, "gimbal");
|
||||
setConstraint(t, t->spacemtx, mode, text);
|
||||
break;
|
||||
default: /* V3D_MANIP_CUSTOM */
|
||||
sprintf(text, ftext, t->spacename);
|
||||
BLI_snprintf(text, sizeof(text), ftext, t->spacename);
|
||||
setConstraint(t, t->spacemtx, mode, text);
|
||||
break;
|
||||
}
|
||||
@@ -874,11 +875,11 @@ static void setNearestAxis2d(TransInfo *t)
|
||||
/* no correction needed... just use whichever one is lower */
|
||||
if ( abs(t->mval[0]-t->con.imval[0]) < abs(t->mval[1]-t->con.imval[1]) ) {
|
||||
t->con.mode |= CON_AXIS1;
|
||||
sprintf(t->con.text, " along Y axis");
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " along Y axis");
|
||||
}
|
||||
else {
|
||||
t->con.mode |= CON_AXIS0;
|
||||
sprintf(t->con.text, " along X axis");
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " along X axis");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -929,31 +930,31 @@ static void setNearestAxis3d(TransInfo *t)
|
||||
if (len[0] <= len[1] && len[0] <= len[2]) {
|
||||
if (t->modifiers & MOD_CONSTRAINT_PLANE) {
|
||||
t->con.mode |= (CON_AXIS1|CON_AXIS2);
|
||||
sprintf(t->con.text, " locking %s X axis", t->spacename);
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " locking %s X axis", t->spacename);
|
||||
}
|
||||
else {
|
||||
t->con.mode |= CON_AXIS0;
|
||||
sprintf(t->con.text, " along %s X axis", t->spacename);
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " along %s X axis", t->spacename);
|
||||
}
|
||||
}
|
||||
else if (len[1] <= len[0] && len[1] <= len[2]) {
|
||||
if (t->modifiers & MOD_CONSTRAINT_PLANE) {
|
||||
t->con.mode |= (CON_AXIS0|CON_AXIS2);
|
||||
sprintf(t->con.text, " locking %s Y axis", t->spacename);
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " locking %s Y axis", t->spacename);
|
||||
}
|
||||
else {
|
||||
t->con.mode |= CON_AXIS1;
|
||||
sprintf(t->con.text, " along %s Y axis", t->spacename);
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " along %s Y axis", t->spacename);
|
||||
}
|
||||
}
|
||||
else if (len[2] <= len[1] && len[2] <= len[0]) {
|
||||
if (t->modifiers & MOD_CONSTRAINT_PLANE) {
|
||||
t->con.mode |= (CON_AXIS0|CON_AXIS1);
|
||||
sprintf(t->con.text, " locking %s Z axis", t->spacename);
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " locking %s Z axis", t->spacename);
|
||||
}
|
||||
else {
|
||||
t->con.mode |= CON_AXIS2;
|
||||
sprintf(t->con.text, " along %s Z axis", t->spacename);
|
||||
BLI_snprintf(t->con.text, sizeof(t->con.text), " along %s Z axis", t->spacename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user