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 */
|
||||
void BKE_nurb_points_add(Nurb *nu, int number)
|
||||
{
|
||||
BPoint *tmp = nu->bp;
|
||||
BPoint *bp;
|
||||
int i;
|
||||
nu->bp = (BPoint *)MEM_mallocN((nu->pntsu + number) * sizeof(BPoint), "rna_Curve_spline_points_add");
|
||||
|
||||
if (tmp) {
|
||||
memmove(nu->bp, tmp, nu->pntsu * sizeof(BPoint));
|
||||
MEM_freeN(tmp);
|
||||
}
|
||||
nu->bp = MEM_recallocN(nu->bp, (nu->pntsu + number) * sizeof(BPoint));
|
||||
|
||||
memset(nu->bp + nu->pntsu, 0, number * sizeof(BPoint));
|
||||
|
||||
for (i = 0, tmp = nu->bp + nu->pntsu; i < number; i++, tmp++) {
|
||||
tmp->radius = 1.0f;
|
||||
for (i = 0, bp = &nu->bp[nu->pntsu]; i < number; i++, bp++) {
|
||||
bp->radius = 1.0f;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
BezTriple *tmp = nu->bezt;
|
||||
BezTriple *bezt;
|
||||
int i;
|
||||
nu->bezt = (BezTriple *)MEM_mallocN((nu->pntsu + number) * sizeof(BezTriple), "rna_Curve_spline_points_add");
|
||||
|
||||
if (tmp) {
|
||||
memmove(nu->bezt, tmp, nu->pntsu * sizeof(BezTriple));
|
||||
MEM_freeN(tmp);
|
||||
}
|
||||
nu->bezt = MEM_recallocN(nu->bp, (nu->pntsu + number) * sizeof(BezTriple));
|
||||
|
||||
memset(nu->bezt + nu->pntsu, 0, number * sizeof(BezTriple));
|
||||
|
||||
for (i = 0, tmp = nu->bezt + nu->pntsu; i < number; i++, tmp++) {
|
||||
tmp->radius = 1.0f;
|
||||
for (i = 0, bezt = &nu->bezt[nu->pntsu]; i < number; i++, bezt++) {
|
||||
bezt->radius = 1.0f;
|
||||
}
|
||||
|
||||
nu->pntsu += number;
|
||||
|
||||
@@ -746,15 +746,8 @@ static void rna_FKeyframe_points_add(FCurve *fcu, int tot)
|
||||
{
|
||||
if (tot > 0) {
|
||||
BezTriple *bezt;
|
||||
if (fcu->totvert) {
|
||||
BezTriple *nbezt = MEM_callocN(sizeof(BezTriple) * (fcu->totvert + tot), "rna_FKeyframe_points_add");
|
||||
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");
|
||||
}
|
||||
|
||||
fcu->bezt = MEM_recallocN(fcu->bezt, sizeof(BezTriple) * (fcu->totvert + tot));
|
||||
|
||||
bezt = fcu->bezt + fcu->totvert;
|
||||
fcu->totvert += tot;
|
||||
|
||||
Reference in New Issue
Block a user