/* A.Intersection(Empty) == Empty */
if ( lwgeom_is_empty(geom2) )
- return lwgeom_clone(geom2);
+ return lwgeom_clone_deep(geom2);
/* Empty.Intersection(A) == Empty */
if ( lwgeom_is_empty(geom1) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
/* ensure srids are identical */
srid = (int)(geom1->srid);
/* Empty.UnaryUnion() == Empty */
if ( lwgeom_is_empty(geom1) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
initGEOS(lwnotice, lwgeom_geos_error);
/* A.Difference(Empty) == A */
if ( lwgeom_is_empty(geom2) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
/* Empty.Intersection(A) == Empty */
if ( lwgeom_is_empty(geom1) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
/* ensure srids are identical */
srid = (int)(geom1->srid);
/* A.SymDifference(Empty) == A */
if ( lwgeom_is_empty(geom2) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
/* Empty.DymDifference(B) == B */
if ( lwgeom_is_empty(geom1) )
- return lwgeom_clone(geom2);
+ return lwgeom_clone_deep(geom2);
/* ensure srids are identical */
srid = (int)(geom1->srid);
/* A.Union(empty) == A */
if ( lwgeom_is_empty(geom1) )
- return lwgeom_clone(geom2);
+ return lwgeom_clone_deep(geom2);
/* B.Union(empty) == B */
if ( lwgeom_is_empty(geom2) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
/* ensure srids are identical */
/* A.Intersection(Empty) == Empty */
if ( lwgeom_is_empty(geom1) )
- return lwgeom_clone(geom1);
+ return lwgeom_clone_deep(geom1);
is3d = FLAGS_GET_Z(geom1->flags);
FLAGS_GET_M(lwline_in->flags));
if ( lwline_split_by_point_to(lwline_in, blade_in, out) < 2 )
{
- lwmline_add_lwline(out, lwline_clone(lwline_in));
+ lwmline_add_lwline(out, lwline_clone_deep(lwline_in));
}
/* Turn multiline into collection */
out = lwmline_construct_empty(lwline_in->srid,
FLAGS_GET_Z(lwline_in->flags),
FLAGS_GET_M(lwline_in->flags));
- lwmline_add_lwline(out, lwline_clone(lwline_in));
+ lwmline_add_lwline(out, lwline_clone_deep(lwline_in));
for (i=0; i<mp->ngeoms; ++i)
{