@@ -542,23 +542,19 @@ static SplineSet * slurpelipse(FILE *fig,SplineChar *sc, SplineSet *sofar) {
542542
543543 spl = chunkalloc (sizeof (SplinePointList ));
544544 spl -> next = sofar ;
545- spl -> first = sp = chunkalloc (sizeof (SplinePoint ));
546- sp -> me .x = dcx ; sp -> me .y = dcy + dry ;
545+ spl -> first = sp = SplinePointCreate (dcx , dcy + dry );
547546 sp -> nextcp .x = sp -> me .x + .552 * drx ; sp -> nextcp .y = sp -> me .y ;
548547 sp -> prevcp .x = sp -> me .x - .552 * drx ; sp -> prevcp .y = sp -> me .y ;
549- spl -> last = sp = chunkalloc (sizeof (SplinePoint ));
550- sp -> me .x = dcx + drx ; sp -> me .y = dcy ;
548+ spl -> last = sp = SplinePointCreate (dcx + drx , dcy );
551549 sp -> nextcp .x = sp -> me .x ; sp -> nextcp .y = sp -> me .y - .552 * dry ;
552550 sp -> prevcp .x = sp -> me .x ; sp -> prevcp .y = sp -> me .y + .552 * dry ;
553551 SplineMake3 (spl -> first ,sp );
554- sp = chunkalloc (sizeof (SplinePoint ));
555- sp -> me .x = dcx ; sp -> me .y = dcy - dry ;
552+ sp = SplinePointCreate (dcx , dcy - dry );
556553 sp -> nextcp .x = sp -> me .x - .552 * drx ; sp -> nextcp .y = sp -> me .y ;
557554 sp -> prevcp .x = sp -> me .x + .552 * drx ; sp -> prevcp .y = sp -> me .y ;
558555 SplineMake3 (spl -> last ,sp );
559556 spl -> last = sp ;
560- sp = chunkalloc (sizeof (SplinePoint ));
561- sp -> me .x = dcx - drx ; sp -> me .y = dcy ;
557+ sp = SplinePointCreate (dcx - drx , dcy );
562558 sp -> nextcp .x = sp -> me .x ; sp -> nextcp .y = sp -> me .y + .552 * dry ;
563559 sp -> prevcp .x = sp -> me .x ; sp -> prevcp .y = sp -> me .y - .552 * dry ;
564560 SplineMake3 (spl -> last ,sp );
@@ -634,8 +630,7 @@ static SplineSet * slurppolyline(FILE *fig,SplineChar *sc, SplineSet *sofar) {
634630 SplineMake3 (spl -> last ,sp ); spl -> last = sp ;
635631 } else {
636632 for ( i = 0 ; i < cnt ; ++ i ) {
637- sp = chunkalloc (sizeof (SplinePoint ));
638- sp -> me = sp -> nextcp = sp -> prevcp = bps [i ];
633+ sp = SplinePointCreate (bps [i ].x , bps [i ].y );
639634 sp -> pointtype = pt_corner ;
640635 if ( spl -> first == NULL )
641636 spl -> first = sp ;
@@ -760,17 +755,18 @@ static SplineSet *ApproximateXSpline(struct xspline *xs,int order2) {
760755 FitPoint mids [7 ];
761756 SplineSet * spl = chunkalloc (sizeof (SplineSet ));
762757 SplinePoint * sp ;
758+ BasePoint tbp ;
763759
764- spl -> first = spl -> last = chunkalloc ( sizeof ( SplinePoint ) );
765- xsplineeval ( & spl -> first -> me , 0 , xs );
760+ xsplineeval ( & tbp , 0 , xs );
761+ spl -> first = spl -> last = SplinePointCreate ( tbp . x , tbp . y );
766762 spl -> first -> pointtype = ( xs -> s [0 ]== 0 )?pt_corner :pt_curve ;
767763 for ( i = 0 ; i < (size_t )(xs -> n - 1 ); ++ i ) {
768764 if ( i == (size_t )(xs -> n - 2 ) && xs -> closed )
769765 sp = spl -> first ;
770766 else {
771- sp = chunkalloc (sizeof (SplinePoint ));
772767 sp -> pointtype = ( xs -> s [i + 1 ]== 0 )?pt_corner :pt_curve ;
773- xsplineeval (& sp -> me ,i + 1 ,xs );
768+ xsplineeval (& tbp ,i + 1 ,xs );
769+ sp = SplinePointCreate (tbp .x , tbp .y );
774770 }
775771 for ( j = 0 , t = 1. /8 ; j < sizeof (mids )/sizeof (mids [0 ]); ++ j , t += 1. /8 ) {
776772 xsplineeval ((BasePoint * ) & mids [j ].p ,i + t ,xs );
0 commit comments