PostGIS  3.1.6dev-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 451 of file lwgeom.c.

452 {
453  if ( ! lwgeom )
454  lwerror("lwgeom_release: someone called on 0x0");
455 
456  LWDEBUGF(3, "releasing type %s", lwtype_name(lwgeom->type));
457 
458  /* Drop bounding box (always a copy) */
459  if ( lwgeom->bbox )
460  {
461  LWDEBUGF(3, "lwgeom_release: releasing bbox. %p", lwgeom->bbox);
462  lwfree(lwgeom->bbox);
463  }
464  lwfree(lwgeom);
465 
466 }
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:476
GBOX * bbox
Definition: liblwgeom.h:472

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: