if ( p2 ) lwfree(p2);
if ( q1 ) lwfree(q1);
if ( q2 ) lwfree(q2);
- if ( l21 ) lwfree_line(l21);
- if ( l22 ) lwfree_line(l22);
- if ( l51 ) lwfree_line(l51);
+ if ( l21 ) lwline_free(l21);
+ if ( l22 ) lwline_free(l22);
+ if ( l51 ) lwline_free(l51);
return 0;
}
/* Two crossings at segment midpoints */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 1, -1 1.5, 1 3, 1 4, 1 5)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_MULTICROSS_END_SAME_FIRST_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* One crossing at interior vertex */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 1, 0 1, -1 1, -1 2, -1 3)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_CROSS_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* Two crossings at interior vertices */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 1, 0 1, -1 1, 0 3, 1 3)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_MULTICROSS_END_SAME_FIRST_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* Two crossings, one at the first vertex on at interior vertex */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 0, 0 0, -1 1, 0 3, 1 3)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_MULTICROSS_END_SAME_FIRST_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* Two crossings, one at the first vertex on the next interior vertex */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 0, 0 0, -1 1, 0 1, 1 2)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_MULTICROSS_END_SAME_FIRST_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* Two crossings, one at the last vertex on the next interior vertex */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 4, 0 4, -1 3, 0 3, 1 3)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_MULTICROSS_END_SAME_FIRST_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* Three crossings, two at midpoints, one at vertex */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(0.5 1, -1 0.5, 1 2, -1 2, -1 3)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_MULTICROSS_END_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* One mid-point co-linear crossing */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 1, 0 1.5, 0 2.5, -1 3, -1 4)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_CROSS_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* One on-vertices co-linear crossing */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 1, 0 1, 0 2, -1 4, -1 4)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_CROSS_LEFT );
- lwfree_line(l52);
+ lwline_free(l52);
/* No crossing, but end on a co-linearity. */
l52 = (LWLINE*)lwgeom_from_ewkt("LINESTRING(1 1, 1 2, 1 3, 0 3, 0 4)", PARSER_CHECK_NONE);
CU_ASSERT( lwline_crossing_direction(l51, l52) == LINE_NO_CROSS );
- lwfree_line(l52);
+ lwline_free(l52);
}
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 1.5,0 2,0 2.5))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip off the top. */
c = lwline_clip_to_ordinate_range(l51, 1, 3.5, 5.5);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 3.5,0 4))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip off the bottom. */
c = lwline_clip_to_ordinate_range(l51, 1, -1.5, 2.5);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 0,0 1,0 2,0 2.5))" );
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Range holds entire object. */
c = lwline_clip_to_ordinate_range(l51, 1, -1.5, 5.5);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 0,0 1,0 2,0 3,0 4))" );
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip on vertices. */
c = lwline_clip_to_ordinate_range(l51, 1, 1.0, 2.0);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 1,0 2))" );
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip on vertices off the bottom. */
c = lwline_clip_to_ordinate_range(l51, 1, -1.0, 2.0);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 0,0 1,0 2))" );
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip on top. */
c = lwline_clip_to_ordinate_range(l51, 1, -1.0, 0.0);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "GEOMETRYCOLLECTION(POINT(0 0))" );
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
}
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0 1.5,0 2,0 2.5))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
- lwfree_mline(mline);
+ lwmline_free(mline);
/*
** Set up the input line. Two-member case.
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((1 3.5,1 4),(0 3.5,0 4))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
- lwfree_mline(mline);
+ lwmline_free(mline);
/*
** Set up staggered input line to create multi-type output.
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "GEOMETRYCOLLECTION(POINT(1 0),LINESTRING(0 0,0 1,0 2,0 2.5))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
- lwfree_mline(mline);
+ lwmline_free(mline);
/*
** Set up input line from MAC
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((3 3 3 3,3.5 3.5 3.5 3.5),(3.5 3.5 3.5 4.5,3 3 3 5))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip from 2 to 3.5 */
c = lwline_clip_to_ordinate_range(line, 2, 2.0, 3.5);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((2 2 2 2,3 3 3 3,3.5 3.5 3.5 3.5),(3.5 3.5 3.5 4.5,3 3 3 5,2 2 2 6))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip from 3 to 4 */
c = lwline_clip_to_ordinate_range(line, 2, 3.0, 4.0);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((3 3 3 3,4 4 4 4,3 3 3 5))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
/* Clip from 2 to 3 */
c = lwline_clip_to_ordinate_range(line, 2, 2.0, 3.0);
//printf("c = %s\n", ewkt);
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((2 2 2 2,3 3 3 3),(3 3 3 5,2 2 2 6))");
lwfree(ewkt);
- lwfree_collection(c);
+ lwcollection_free(c);
- lwfree_line(line);
+ lwline_free(line);
}
CU_ASSERT_STRING_EQUAL(ewkt, "MULTILINESTRING((0.5 0.5 0.5,1 1 1,1.5 1.5 1.5))" );
lwfree(ewkt);
- lwfree_collection(c);
- lwfree_line(line);
+ lwcollection_free(c);
+ lwline_free(line);
}
/* Free all of the allocated items */
lwfree(lwg_unparser_result.wkoutput);
lwfree(serialized_lwgeom);
- lwfree_point(testpoint);
+ lwpoint_free(testpoint);
lwfree(dpa);
/* Free all of the allocated items */
lwfree(lwg_unparser_result.wkoutput);
lwfree(serialized_lwgeom);
- lwfree_line(testline);
+ lwline_free(testline);
lwfree(dpa);
/* Free all of the allocated items */
lwfree(lwg_unparser_result.wkoutput);
lwfree(serialized_lwgeom);
- lwfree_polygon(testpoly);
+ lwpoly_free(testpoly);
}
* constructed yourself.
*/
-extern void lwfree_point(LWPOINT *pt);
-extern void lwfree_line(LWLINE *line);
-extern void lwfree_polygon(LWPOLY *poly);
-extern void lwfree_pointarray(POINTARRAY *pa);
-extern void lwfree_mpoint(LWMPOINT *mpt);
-extern void lwfree_mline(LWMLINE *mline);
-extern void lwfree_mpolygon(LWMPOLY *mpoly);
-extern void lwfree_collection(LWCOLLECTION *col);
-extern void lwfree_geom(LWGEOM *geom);
+extern void ptarray_free(POINTARRAY *pa);
+extern void lwpoint_free(LWPOINT *pt);
+extern void lwline_free(LWLINE *line);
+extern void lwpoly_free(LWPOLY *poly);
+extern void lwmpoint_free(LWMPOINT *mpt);
+extern void lwmline_free(LWMLINE *mline);
+extern void lwmpoly_free(LWMPOLY *mpoly);
+extern void lwcollection_free(LWCOLLECTION *col);
+extern void lwgeom_free(LWGEOM *geom);
extern void lwfree_inspected(LWGEOM_INSPECTED *inspected); /* TODO: make this deep free... */
* constructed yourself, or you will leak lots of memory.
*/
-extern void lwgeom_release(LWGEOM *lwgeom);
-extern void lwpoly_release(LWPOLY *lwpoly);
-extern void lwline_release(LWLINE *lwline);
extern void lwpoint_release(LWPOINT *lwpoint);
-extern void lwmpoly_release(LWMPOLY *lwpoly);
-extern void lwmline_release(LWMLINE *lwline);
+extern void lwline_release(LWLINE *lwline);
+extern void lwpoly_release(LWPOLY *lwpoly);
extern void lwmpoint_release(LWMPOINT *lwpoint);
+extern void lwmline_release(LWMLINE *lwline);
+extern void lwmpoly_release(LWMPOLY *lwpoly);
extern void lwcollection_release(LWCOLLECTION *lwcollection);
+extern void lwgeom_release(LWGEOM *lwgeom);
/****************************************************************
*/
-void lwfree_collection(LWCOLLECTION *col)
+void lwcollection_free(LWCOLLECTION *col)
{
int i;
if( col->bbox )
switch( TYPE_GETTYPE(col->geoms[i]->type) )
{
case POINTTYPE:
- lwfree_point((LWPOINT*)col->geoms[i]);
+ lwpoint_free((LWPOINT*)col->geoms[i]);
break;
case LINETYPE:
- lwfree_line((LWLINE*)col->geoms[i]);
+ lwline_free((LWLINE*)col->geoms[i]);
break;
case POLYGONTYPE:
- lwfree_polygon((LWPOLY*)col->geoms[i]);
+ lwpoly_free((LWPOLY*)col->geoms[i]);
break;
case MULTIPOINTTYPE:
- lwfree_mpoint((LWMPOINT*)col->geoms[i]);
+ lwmpoint_free((LWMPOINT*)col->geoms[i]);
break;
case MULTILINETYPE:
- lwfree_mline((LWMLINE*)col->geoms[i]);
+ lwmline_free((LWMLINE*)col->geoms[i]);
break;
case MULTIPOLYGONTYPE:
- lwfree_mpolygon((LWMPOLY*)col->geoms[i]);
+ lwmpoly_free((LWMPOLY*)col->geoms[i]);
break;
case COLLECTIONTYPE:
- lwfree_collection((LWCOLLECTION*)col->geoms[i]);
+ lwcollection_free((LWCOLLECTION*)col->geoms[i]);
break;
}
}
}
}
-void lwfree_geom(LWGEOM *lwgeom) {
+void lwgeom_free(LWGEOM *lwgeom) {
switch(TYPE_GETTYPE(lwgeom->type))
{
case POINTTYPE:
- lwfree_point((LWPOINT *)lwgeom);
+ lwpoint_free((LWPOINT *)lwgeom);
break;
case LINETYPE:
- lwfree_line((LWLINE *)lwgeom);
+ lwline_free((LWLINE *)lwgeom);
break;
case POLYGONTYPE:
- lwfree_polygon((LWPOLY *)lwgeom);
+ lwpoly_free((LWPOLY *)lwgeom);
break;
case MULTIPOINTTYPE:
- lwfree_mpoint((LWMPOINT *)lwgeom);
+ lwmpoint_free((LWMPOINT *)lwgeom);
break;
case MULTILINETYPE:
- lwfree_mline((LWMLINE *)lwgeom);
+ lwmline_free((LWMLINE *)lwgeom);
break;
case MULTIPOLYGONTYPE:
- lwfree_mpolygon((LWMPOLY *)lwgeom);
+ lwmpoly_free((LWMPOLY *)lwgeom);
break;
case COLLECTIONTYPE:
- lwfree_collection((LWCOLLECTION *)lwgeom);
+ lwcollection_free((LWCOLLECTION *)lwgeom);
break;
}
return;
LWDEBUG(3, "compute_serialized_box3d: bbox found");
- lwfree_point(pt);
+ lwpoint_free(pt);
return result;
}
{
LWLINE *line = lwline_deserialize(srl);
result = lwline_compute_box3d(line);
- lwfree_line(line);
+ lwline_free(line);
return result;
}
{
LWPOLY *poly = lwpoly_deserialize(srl);
result = lwpoly_compute_box3d(poly);
- lwfree_polygon(poly);
+ lwpoly_free(poly);
return result;
}
return size;
}
-void lwfree_line (LWLINE *line)
+void lwline_free (LWLINE *line)
{
if ( line->bbox )
lwfree(line->bbox);
- lwfree_pointarray(line->points);
+ ptarray_free(line->points);
lwfree(line);
}
}
-void lwfree_mline(LWMLINE *mline)
+void lwmline_free(LWMLINE *mline)
{
int i;
if( mline->bbox )
for ( i = 0; i < mline->ngeoms; i++ )
{
if( mline->geoms[i] ) {
- lwfree_line(mline->geoms[i]);
+ lwline_free(mline->geoms[i]);
}
}
if( mline->geoms )
}
-void lwfree_mpoint(LWMPOINT *mpt)
+void lwmpoint_free(LWMPOINT *mpt)
{
int i;
if( mpt->bbox )
for ( i = 0; i < mpt->ngeoms; i++ )
{
if( mpt->geoms[i] ) {
- lwfree_point(mpt->geoms[i]);
+ lwpoint_free(mpt->geoms[i]);
}
}
if( mpt->geoms )
}
-void lwfree_mpolygon(LWMPOLY *mpoly)
+void lwmpoly_free(LWMPOLY *mpoly)
{
int i;
if( mpoly->bbox )
for ( i = 0; i < mpoly->ngeoms; i++ )
{
if( mpoly->geoms[i] ) {
- lwfree_polygon(mpoly->geoms[i]);
+ lwpoly_free(mpoly->geoms[i]);
}
}
if( mpoly->geoms )
return result;
}
-void lwfree_point(LWPOINT *pt)
+void lwpoint_free(LWPOINT *pt)
{
if(pt->point)
- lwfree_pointarray(pt->point);
+ ptarray_free(pt->point);
lwfree(pt);
}
return size;
}
-void lwfree_polygon (LWPOLY *poly)
+void lwpoly_free (LWPOLY *poly)
{
int t;
for (t=0;t<poly->nrings;t++)
{
if( poly->rings[t] )
- lwfree_pointarray(poly->rings[t]);
+ ptarray_free(poly->rings[t]);
}
if ( poly->rings )
}
-void lwfree_pointarray(POINTARRAY *pa)
+void ptarray_free(POINTARRAY *pa)
{
/* TODO
* Turn this on after retrofitting all calls to lwfree_ in /lwgeom
for (u = 0; u < obj->nParts; u++)
{
- lwfree_line(lwgeom_as_lwline(lwmultilinestrings[u]));
+ lwline_free(lwgeom_as_lwline(lwmultilinestrings[u]));
lwfree(dpas[u]);
}
/* Cycle through each polygon, freeing everything we need... */
for (u = 0; u < polygon_total; u++)
- lwfree_polygon(lwgeom_as_lwpoly(lwpolygons[u]));
+ lwpoly_free(lwgeom_as_lwpoly(lwpolygons[u]));
/* Free the pointer arrays */
lwfree(pas);
for (u = 0; u < obj->nVertices; u++)
{
- lwfree_point(lwgeom_as_lwpoint(lwmultipoints[u]));
+ lwpoint_free(lwgeom_as_lwpoint(lwmultipoints[u]));
lwfree(dpas[u]);
}
point = lwpoint_construct(line->SRID, 0, opa);
srl = lwpoint_serialize(point);
/* We shouldn't need this, the memory context is getting freed on the next line.
- lwfree_point(point); */
+ lwpoint_free(point); */
PG_RETURN_POINTER(PG_LWGEOM_construct(srl, line->SRID, 0));
}
point = lwpoint_construct(line->SRID, 0, opa);
srl = lwpoint_serialize(point);
/* We shouldn't need this, the memory context is getting freed on the next line
- lwfree_point(point); */
+ lwpoint_free(point); */
PG_RETURN_POINTER(PG_LWGEOM_construct(srl, line->SRID, 0));
}
tlength += slength;
point = lwpoint_construct(line->SRID, 0, opa);
srl = lwpoint_serialize(point);
/* We shouldn't need this, the memory context is getting freed on the next line
- lwfree_point(point); */
+ lwpoint_free(point); */
PG_RETURN_POINTER(PG_LWGEOM_construct(srl, line->SRID, 0));
}
/***********************************************************************
{
geom_out = lwmline_clip_to_ordinate_range((LWMLINE*)line_in, ordinate, from, to);
}
- lwfree_geom(line_in);
+ lwgeom_free(line_in);
if( ! geom_out ) {
elog(ERROR,"The lwline_clip_to_ordinate_range returned null.");
if ((point=lwgeom_getpoint_inspected(insp, i)))
{
size += askml2_point_size(point);
- lwfree_point(point);
+ lwpoint_free(point);
}
else if ((line=lwgeom_getline_inspected(insp, i)))
{
size += askml2_line_size(line);
- lwfree_line(line);
+ lwline_free(line);
}
else if ((poly=lwgeom_getpoly_inspected(insp, i)))
{
size += askml2_poly_size(poly);
- lwfree_polygon(poly);
+ lwpoly_free(poly);
}
else
{
if ((point=lwgeom_getpoint_inspected(insp, i)))
{
ptr += askml2_point_buf(point, ptr);
- lwfree_point(point);
+ lwpoint_free(point);
}
else if ((line=lwgeom_getline_inspected(insp, i)))
{
ptr += askml2_line_buf(line, ptr);
- lwfree_line(line);
+ lwline_free(line);
}
else if ((poly=lwgeom_getpoly_inspected(insp, i)))
{
ptr += askml2_poly_buf(poly, ptr);
- lwfree_polygon(poly);
+ lwpoly_free(poly);
}
else
{