diff options
author | Daniel Stone <daniel@fooishbar.org> | 2007-11-05 14:08:51 +0000 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2007-11-05 14:34:41 +0000 |
commit | be9ee17f960cc3d8a8f999cab1579e83d9aea520 (patch) | |
tree | f563ce4405d197063ed262da3f5355d334335e43 /mi/mifpolycon.c | |
parent | 3633ae6efb57c5405c26e8ae132b9371e5f920de (diff) |
mi: Remove usage of alloca
Replace with heap allocations.
Diffstat (limited to 'mi/mifpolycon.c')
-rw-r--r-- | mi/mifpolycon.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mi/mifpolycon.c b/mi/mifpolycon.c index f85197157..d19f031d7 100644 --- a/mi/mifpolycon.c +++ b/mi/mifpolycon.c @@ -114,15 +114,15 @@ miFillSppPoly(dst, pgc, count, ptsIn, xTrans, yTrans, xFtrans, yFtrans) y = ymax - ymin + 1; if ((count < 3) || (y <= 0)) return; - ptsOut = FirstPoint = (DDXPointPtr)ALLOCATE_LOCAL(sizeof(DDXPointRec) * y); - width = FirstWidth = (int *) ALLOCATE_LOCAL(sizeof(int) * y); - Marked = (int *) ALLOCATE_LOCAL(sizeof(int) * count); + ptsOut = FirstPoint = (DDXPointPtr)xalloc(sizeof(DDXPointRec) * y); + width = FirstWidth = (int *) xalloc(sizeof(int) * y); + Marked = (int *) xalloc(sizeof(int) * count); if(!ptsOut || !width || !Marked) { - if (Marked) DEALLOCATE_LOCAL(Marked); - if (width) DEALLOCATE_LOCAL(width); - if (ptsOut) DEALLOCATE_LOCAL(ptsOut); + if (Marked) xfree(Marked); + if (width) xfree(width); + if (ptsOut) xfree(ptsOut); return; } @@ -236,9 +236,9 @@ miFillSppPoly(dst, pgc, count, ptsIn, xTrans, yTrans, xFtrans, yFtrans) /* Finally, fill the spans we've collected */ (*pgc->ops->FillSpans)(dst, pgc, ptsOut-FirstPoint, FirstPoint, FirstWidth, 1); - DEALLOCATE_LOCAL(Marked); - DEALLOCATE_LOCAL(FirstWidth); - DEALLOCATE_LOCAL(FirstPoint); + xfree(Marked); + xfree(FirstWidth); + xfree(FirstPoint); } |