PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ 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 468 of file lwgeom.c.

469 {
470  if ( ! lwgeom )
471  lwerror("lwgeom_release: someone called on 0x0");
472 
473  LWDEBUGF(3, "releasing type %s", lwtype_name(lwgeom->type));
474 
475  /* Drop bounding box (always a copy) */
476  if ( lwgeom->bbox )
477  {
478  LWDEBUGF(3, "lwgeom_release: releasing bbox. %p", lwgeom->bbox);
479  lwfree(lwgeom->bbox);
480  }
481  lwfree(lwgeom);
482 
483 }
void lwfree(void *mem)
Definition: lwutil.c:242
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition: lwutil.c:216
#define LWDEBUGF(level, msg,...)
Definition: lwgeom_log.h:88
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
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: