From: Paul Ramsey Date: Mon, 29 Jun 2015 16:56:33 +0000 (+0000) Subject: Remove memory leak X-Git-Tag: 2.2.0rc1~295 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9acb6ee3c0a43e603435d3a9443c41a7e99c7e12;p=postgis Remove memory leak git-svn-id: http://svn.osgeo.org/postgis/trunk@13743 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/liblwgeom/cunit/cu_algorithm.c b/liblwgeom/cunit/cu_algorithm.c index 74f770ca0..19996f2f0 100644 --- a/liblwgeom/cunit/cu_algorithm.c +++ b/liblwgeom/cunit/cu_algorithm.c @@ -901,43 +901,56 @@ static void test_geohash_point_as_int(void) static void test_lwgeom_simplify(void) { LWGEOM *l; + LWGEOM *g; char *ewkt; /* Simplify but only so far... */ - l = lwgeom_simplify(lwgeom_from_wkt("LINESTRING(0 0, 1 0, 1 1, 0 1, 0 0)", LW_PARSER_CHECK_NONE), 10, LW_TRUE); + g = lwgeom_from_wkt("LINESTRING(0 0, 1 0, 1 1, 0 1, 0 0)", LW_PARSER_CHECK_NONE); + l = lwgeom_simplify(g, 10, LW_TRUE); ewkt = lwgeom_to_ewkt(l); CU_ASSERT_STRING_EQUAL(ewkt, "LINESTRING(0 0,0 0)"); + lwgeom_free(g); lwgeom_free(l); lwfree(ewkt); /* Simplify but only so far... */ - l = lwgeom_simplify(lwgeom_from_wkt("POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))", LW_PARSER_CHECK_NONE), 10, LW_TRUE); + g = lwgeom_from_wkt("POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))", LW_PARSER_CHECK_NONE); + l = lwgeom_simplify(g, 10, LW_TRUE); ewkt = lwgeom_to_ewkt(l); CU_ASSERT_STRING_EQUAL(ewkt, "POLYGON((0 0,1 0,1 1,0 0))"); + lwgeom_free(g); lwgeom_free(l); lwfree(ewkt); /* Simplify and collapse */ - l = lwgeom_simplify(lwgeom_from_wkt("LINESTRING(0 0, 1 0, 1 1, 0 1, 0 0)", LW_PARSER_CHECK_NONE), 10, LW_FALSE); + g = lwgeom_from_wkt("LINESTRING(0 0, 1 0, 1 1, 0 1, 0 0)", LW_PARSER_CHECK_NONE); + l = lwgeom_simplify(g, 10, LW_FALSE); CU_ASSERT_EQUAL(l, NULL); + lwgeom_free(g); lwgeom_free(l); /* Simplify and collapse */ - l = lwgeom_simplify(lwgeom_from_wkt("POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))", LW_PARSER_CHECK_NONE), 10, LW_FALSE); + g = lwgeom_from_wkt("POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))", LW_PARSER_CHECK_NONE); + l = lwgeom_simplify(g, 10, LW_FALSE); CU_ASSERT_EQUAL(l, NULL); + lwgeom_free(g); lwgeom_free(l); /* Not simplifiable */ - l = lwgeom_simplify(lwgeom_from_wkt("LINESTRING(0 0, 50 1.00001, 100 0)", LW_PARSER_CHECK_NONE), 1.0, LW_FALSE); + g = lwgeom_from_wkt("LINESTRING(0 0, 50 1.00001, 100 0)", LW_PARSER_CHECK_NONE); + l = lwgeom_simplify(g, 1.0, LW_FALSE); ewkt = lwgeom_to_ewkt(l); CU_ASSERT_STRING_EQUAL(ewkt, "LINESTRING(0 0,50 1.00001,100 0)"); + lwgeom_free(g); lwgeom_free(l); lwfree(ewkt); /* Simplifiable */ - l = lwgeom_simplify(lwgeom_from_wkt("LINESTRING(0 0,50 0.99999,100 0)", LW_PARSER_CHECK_NONE), 1.0, LW_FALSE); + g = lwgeom_from_wkt("LINESTRING(0 0,50 0.99999,100 0)", LW_PARSER_CHECK_NONE); + l = lwgeom_simplify(g, 1.0, LW_FALSE); ewkt = lwgeom_to_ewkt(l); CU_ASSERT_STRING_EQUAL(ewkt, "LINESTRING(0 0,100 0)"); + lwgeom_free(g); lwgeom_free(l); lwfree(ewkt); }