]> granicus.if.org Git - postgis/commitdiff
Handled some more errors.
authorSandro Santilli <strk@keybit.net>
Wed, 19 Oct 2005 13:11:41 +0000 (13:11 +0000)
committerSandro Santilli <strk@keybit.net>
Wed, 19 Oct 2005 13:11:41 +0000 (13:11 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@1974 b70326c6-7e19-0410-871a-916f4a2858ee

lwgeom/lwgeom_geos_c.c

index eb6dc4841293989644fed86255f280a4abfff395..f24d71ccc6e8bdc5a4b382c91d2e18ca1ab77406 100644 (file)
@@ -2158,23 +2158,22 @@ GEOS2POSTGIS(GEOSGeom geom, char want3d)
        size_t size;
        char *wkb;
        PG_LWGEOM *pglwgeom, *ret;
+       int SRID;
 
        if ( want3d ) GEOS_setWKBOutputDims(3);
        else GEOS_setWKBOutputDims(2);
 
        wkb = GEOSGeomToWKB_buf(geom, &size);
+       if ( ! wkb )
+       {
+               lwerror("GEOS failed to export WKB");
+       }
        pglwgeom = pglwgeom_from_ewkb(wkb, size);
-
        if ( ! pglwgeom )
        {
-               lwerror("GEOS2POSTGIS: lwgeom_from_geometry returned NULL");
-               return NULL;
+               lwerror("GEOS2POSTGIS: lwgeom_from_ewkb returned NULL");
        }
 
-#ifdef PGIS_DEBUG_GEOS2POSTGIS
-       lwnotice("GEOS2POSTGIS: lwgeom_from_geometry returned a %s", lwgeom_summary(lwgeom, 0)); 
-#endif
-
        if ( is_worth_caching_pglwgeom_bbox(pglwgeom) )
        {
                ret = (PG_LWGEOM *)DatumGetPointer(DirectFunctionCall1(
@@ -2213,14 +2212,18 @@ POSTGIS2GEOS(PG_LWGEOM *pglwgeom)
        GEOSGeom geom;
 
        wkb = pglwgeom_to_ewkb(pglwgeom, getMachineEndian(), &size);
+       if ( ! wkb )
+       {
+               lwerror("Postgis failed to export EWKB %s:%d", __FILE__, __LINE__);
+       }
        geom = GEOSGeomFromWKB_buf(wkb, size);
        lwfree(wkb);
        if ( ! geom ) {
                lwerror("POSTGIS2GEOS conversion failed");
        }
 
-       wkb = GEOSGeomToWKT(geom);
 #ifdef PGIS_DEBUG_CONVERTER
+       wkb = GEOSGeomToWKT(geom);
        lwnotice("GEOS geom: %s", wkb);
 #endif