From: Paul Ramsey Date: Thu, 5 Mar 2015 17:59:58 +0000 (+0000) Subject: Move some more primitive pointarray accesses back to liblwgeom where they belong X-Git-Tag: 2.2.0rc1~620 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=08a88faf2625a7764456b0561e89b763165aa1a4;p=postgis Move some more primitive pointarray accesses back to liblwgeom where they belong git-svn-id: http://svn.osgeo.org/postgis/trunk@13309 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/postgis/lwgeom_in_gml.c b/postgis/lwgeom_in_gml.c index 3b9e5530c..eee270dc1 100644 --- a/postgis/lwgeom_in_gml.c +++ b/postgis/lwgeom_in_gml.c @@ -282,8 +282,6 @@ static xmlNodePtr get_xlink_node(xmlNodePtr xnode) */ static POINTARRAY* gml_reproject_pa(POINTARRAY *pa, int srid_in, int srid_out) { - int i; - POINT4D p; projPJ in_pj, out_pj; char *text_in, *text_out; @@ -299,11 +297,9 @@ static POINTARRAY* gml_reproject_pa(POINTARRAY *pa, int srid_in, int srid_out) lwfree(text_in); lwfree(text_out); - for (i=0 ; i < pa->npoints ; i++) + if ( ptarray_transform(pa, in_pj, out_pj) == LW_FAILURE ) { - getPoint4d_p(pa, i, &p); - point4d_transform(&p, in_pj, out_pj); - ptarray_set_point4d(pa, i, &p); + elog(ERROR, "gml_reproject_pa: reprojection failed"); } pj_free(in_pj); @@ -1056,9 +1052,9 @@ static LWGEOM* parse_gml_curve(xmlNodePtr xnode, bool *hasz, int *root_srid) { if (i + 1 == lss) last = 1; /* Check if segments are not disjoints */ - if (i > 0 && memcmp( getPoint_internal(pa, npoints), + if (i > 0 && memcmp( getPoint_internal(pa, npoints), getPoint_internal(ppa[i], 0), - *hasz?sizeof(POINT3D):sizeof(POINT2D))) + *hasz ? sizeof(POINT3D) : sizeof(POINT2D))) gml_lwerror("invalid GML representation", 41); /* Aggregate stuff */