From 7fe7c2e5c70cd08f4428f176d40ed1e34e20dd10 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 4 Nov 2003 19:06:08 +0000 Subject: [PATCH] added missing first geom pfree in unite_finalfunc git-svn-id: http://svn.osgeo.org/postgis/trunk@342 b70326c6-7e19-0410-871a-916f4a2858ee --- postgis_geos.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/postgis_geos.c b/postgis_geos.c index 3142d2a7e..b1f858b79 100644 --- a/postgis_geos.c +++ b/postgis_geos.c @@ -10,6 +10,9 @@ * ********************************************************************** * $Log$ + * Revision 1.21 2003/11/04 19:06:08 strk + * added missing first geom pfree in unite_finalfunc + * * Revision 1.20 2003/10/29 15:53:10 strk * geoscentroid() removed. both geos and pgis versions are called 'centroid'. * only one version will be compiled based on USE_GEOS flag. @@ -88,6 +91,7 @@ //-------------------------------------------------------------------------- // +//#define DEBUG #ifdef USE_GEOS #include "postgres.h" @@ -157,10 +161,10 @@ extern Geometry *GEOSIntersection(Geometry *g1, Geometry *g2); extern POINT3D *GEOSGetCoordinate(Geometry *g1); extern POINT3D *GEOSGetCoordinates(Geometry *g1); extern int GEOSGetNumCoordinate(Geometry *g1); -extern Geometry *GEOSGetGeometryN(Geometry *g1, int n); -extern Geometry *GEOSGetExteriorRing(Geometry *g1); -extern Geometry *GEOSGetInteriorRingN(Geometry *g1,int n); -extern int GEOSGetNumInteriorRings(Geometry *g1); +extern Geometry *GEOSGetGeometryN(Geometry *g1, int n); +extern Geometry *GEOSGetExteriorRing(Geometry *g1); +extern Geometry *GEOSGetInteriorRingN(Geometry *g1,int n); +extern int GEOSGetNumInteriorRings(Geometry *g1); extern int GEOSGetSRID(Geometry *g1); extern int GEOSGetNumGeometries(Geometry *g1); @@ -303,6 +307,7 @@ Datum unite_finalfunc(PG_FUNCTION_ARGS) if ( geoms[0]->is3d ) is3d = 1; geos_result = POSTGIS2GEOS(geoms[0]); + pfree(geoms[0]); for (i=1; i