PostGIS  2.5.7dev-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 459 of file lwgeom.c.

460 {
461  if ( ! lwgeom )
462  lwerror("lwgeom_release: someone called on 0x0");
463 
464  LWDEBUGF(3, "releasing type %s", lwtype_name(lwgeom->type));
465 
466  /* Drop bounding box (always a copy) */
467  if ( lwgeom->bbox )
468  {
469  LWDEBUGF(3, "lwgeom_release: releasing bbox. %p", lwgeom->bbox);
470  lwfree(lwgeom->bbox);
471  }
472  lwfree(lwgeom);
473 
474 }
void lwfree(void *mem)
Definition: lwutil.c:244
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition: lwutil.c:218
#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:399
GBOX * bbox
Definition: liblwgeom.h:401

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: