[Bf-blender-cvs] [94e5e2f] master: Code cleanup: simplify reallocs using MEM_recalloc

Campbell Barton noreply at git.blender.org
Mon Apr 28 23:51:54 CEST 2014


Commit: 94e5e2f5d811396f608045ab35f77437290f5759
Author: Campbell Barton
Date:   Tue Apr 29 07:50:25 2014 +1000
https://developer.blender.org/rB94e5e2f5d811396f608045ab35f77437290f5759

Code cleanup: simplify reallocs using MEM_recalloc

===================================================================

M	source/blender/blenkernel/intern/curve.c
M	source/blender/makesrna/intern/rna_fcurve.c

===================================================================

diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index 30638a1..bf4e439 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -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);
-	}
 
-	memset(nu->bp + nu->pntsu, 0, number * sizeof(BPoint));
+	nu->bp = MEM_recallocN(nu->bp, (nu->pntsu + 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);
-	}
 
-	memset(nu->bezt + nu->pntsu, 0, number * sizeof(BezTriple));
+	nu->bezt = MEM_recallocN(nu->bp, (nu->pntsu + 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;
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index 00caa3b..0c5c68e 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -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;




More information about the Bf-blender-cvs mailing list