3274 LWGEOM *lwgeom_in, *lwblade_in, *lwgeom_out;
3276 in = PG_GETARG_GSERIALIZED_P(0);
3277 blade_in = PG_GETARG_GSERIALIZED_P(1);
3285 lwpgerror(
"Input Geometry contains invalid coordinates");
3291 lwpgerror(
"Blade Geometry contains invalid coordinates");
3302 PG_FREE_IF_COPY(in, 0);
3303 PG_FREE_IF_COPY(blade_in, 1);
3307 out = geometry_serialize(lwgeom_out);
3309 PG_FREE_IF_COPY(in, 0);
3310 PG_FREE_IF_COPY(blade_in, 1);
3312 PG_RETURN_POINTER(out);
void gserialized_error_if_srid_mismatch(const GSERIALIZED *g1, const GSERIALIZED *g2, const char *funcname)
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_free(LWGEOM *geom)
LWGEOM * lwgeom_split(const LWGEOM *lwgeom_in, const LWGEOM *blade_in)
int lwgeom_isfinite(const LWGEOM *lwgeom)
Check if a LWGEOM has any non-finite (NaN or Inf) coordinates.