Code cleanup: simplify reallocs using MEM_recalloc
This commit is contained in:
@@ -701,19 +701,13 @@ void BKE_nurb_minmax(Nurb *nu, bool use_radius, float min[3], float max[3])
|
|||||||
/* be sure to call makeknots after this */
|
/* be sure to call makeknots after this */
|
||||||
void BKE_nurb_points_add(Nurb *nu, int number)
|
void BKE_nurb_points_add(Nurb *nu, int number)
|
||||||
{
|
{
|
||||||
BPoint *tmp = nu->bp;
|
BPoint *bp;
|
||||||
int i;
|
int i;
|
||||||
nu->bp = (BPoint *)MEM_mallocN((nu->pntsu + number) * sizeof(BPoint), "rna_Curve_spline_points_add");
|
|
||||||
|
|
||||||
if (tmp) {
|
nu->bp = MEM_recallocN(nu->bp, (nu->pntsu + number) * sizeof(BPoint));
|
||||||
memmove(nu->bp, tmp, nu->pntsu * sizeof(BPoint));
|
|
||||||
MEM_freeN(tmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
memset(nu->bp + nu->pntsu, 0, number * sizeof(BPoint));
|
for (i = 0, bp = &nu->bp[nu->pntsu]; i < number; i++, bp++) {
|
||||||
|
bp->radius = 1.0f;
|
||||||
for (i = 0, tmp = nu->bp + nu->pntsu; i < number; i++, tmp++) {
|
|
||||||
tmp->radius = 1.0f;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nu->pntsu += number;
|
nu->pntsu += number;
|
||||||
@@ -721,19 +715,13 @@ void BKE_nurb_points_add(Nurb *nu, int number)
|
|||||||
|
|
||||||
void BKE_nurb_bezierPoints_add(Nurb *nu, int number)
|
void BKE_nurb_bezierPoints_add(Nurb *nu, int number)
|
||||||
{
|
{
|
||||||
BezTriple *tmp = nu->bezt;
|
BezTriple *bezt;
|
||||||
int i;
|
int i;
|
||||||
nu->bezt = (BezTriple *)MEM_mallocN((nu->pntsu + number) * sizeof(BezTriple), "rna_Curve_spline_points_add");
|
|
||||||
|
|
||||||
if (tmp) {
|
nu->bezt = MEM_recallocN(nu->bp, (nu->pntsu + number) * sizeof(BezTriple));
|
||||||
memmove(nu->bezt, tmp, nu->pntsu * sizeof(BezTriple));
|
|
||||||
MEM_freeN(tmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
memset(nu->bezt + nu->pntsu, 0, number * sizeof(BezTriple));
|
for (i = 0, bezt = &nu->bezt[nu->pntsu]; i < number; i++, bezt++) {
|
||||||
|
bezt->radius = 1.0f;
|
||||||
for (i = 0, tmp = nu->bezt + nu->pntsu; i < number; i++, tmp++) {
|
|
||||||
tmp->radius = 1.0f;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nu->pntsu += number;
|
nu->pntsu += number;
|
||||||
|
|||||||
@@ -746,15 +746,8 @@ static void rna_FKeyframe_points_add(FCurve *fcu, int tot)
|
|||||||
{
|
{
|
||||||
if (tot > 0) {
|
if (tot > 0) {
|
||||||
BezTriple *bezt;
|
BezTriple *bezt;
|
||||||
if (fcu->totvert) {
|
|
||||||
BezTriple *nbezt = MEM_callocN(sizeof(BezTriple) * (fcu->totvert + tot), "rna_FKeyframe_points_add");
|
fcu->bezt = MEM_recallocN(fcu->bezt, sizeof(BezTriple) * (fcu->totvert + tot));
|
||||||
memcpy(nbezt, fcu->bezt, sizeof(BezTriple) * fcu->totvert);
|
|
||||||
MEM_freeN(fcu->bezt);
|
|
||||||
fcu->bezt = nbezt;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fcu->bezt = MEM_callocN(sizeof(BezTriple) * tot, "rna_FKeyframe_points_add");
|
|
||||||
}
|
|
||||||
|
|
||||||
bezt = fcu->bezt + fcu->totvert;
|
bezt = fcu->bezt + fcu->totvert;
|
||||||
fcu->totvert += tot;
|
fcu->totvert += tot;
|
||||||
|
|||||||
Reference in New Issue
Block a user