PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ lwgeom_release()

void lwgeom_release ( LWGEOM lwgeom)

Free the containing LWGEOM and the associated BOX.

Leave the underlying geoms/points/point objects intact. Useful for functions that are stripping out subcomponents of complex objects, or building up new temporary objects on top of subcomponents.

Definition at line 496 of file lwgeom.c.

497{
498 if ( ! lwgeom )
499 lwerror("lwgeom_release: someone called on 0x0");
500
501 LWDEBUGF(3, "releasing type %s", lwtype_name(lwgeom->type));
502
503 /* Drop bounding box (always a copy) */
504 if ( lwgeom->bbox )
505 {
506 LWDEBUGF(3, "lwgeom_release: releasing bbox. %p", lwgeom->bbox);
507 lwfree(lwgeom->bbox);
508 }
509 lwfree(lwgeom);
510
511}
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition lwutil.c:216
void lwfree(void *mem)
Definition lwutil.c:248
#define LWDEBUGF(level, msg,...)
Definition lwgeom_log.h:106
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
uint8_t type
Definition liblwgeom.h:462
GBOX * bbox
Definition liblwgeom.h:458

References LWGEOM::bbox, LWDEBUGF, lwerror(), lwfree(), lwtype_name(), and LWGEOM::type.

Referenced by geom_from_kml(), lwcircstring_release(), lwcollection_release(), LWGEOM_exteriorring_polygon(), LWGEOM_interiorringn_polygon(), lwline_release(), lwmline_release(), lwmpoint_release(), lwmpoly_release(), lwmpoly_to_points(), lwpoint_release(), lwpoly_release(), and lwtriangle_release().

Here is the call graph for this function:
Here is the caller graph for this function: