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

◆ LWGEOM_summary()

Datum LWGEOM_summary ( PG_FUNCTION_ARGS  )

Definition at line 143 of file lwgeom_functions_basic.c.

144{
145 text *summary;
146 GSERIALIZED *g = PG_GETARG_GSERIALIZED_P(0);
148 char *lwresult = lwgeom_summary(lwg, 0);
149 uint32_t gver = gserialized_get_version(g);
150 size_t result_sz = strlen(lwresult) + 8;
151 char *result;
152 if (gver == 0)
153 {
154 result = lwalloc(result_sz + 2);
155 snprintf(result, result_sz, "0:%s", lwresult);
156 }
157 else
158 {
159 result = lwalloc(result_sz);
160 snprintf(result, result_sz, "%s", lwresult);
161 }
162 lwgeom_free(lwg);
163 lwfree(lwresult);
164
165 /* create a text obj to return */
166 summary = cstring_to_text(result);
167 lwfree(result);
168
169 PG_FREE_IF_COPY(g, 0);
170 PG_RETURN_TEXT_P(summary);
171}
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition cu_print.c:267
uint32_t gserialized_get_version(const GSERIALIZED *g)
Return the serialization version.
Definition gserialized.c:71
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_free(LWGEOM *geom)
Definition lwgeom.c:1246
char * lwgeom_summary(const LWGEOM *lwgeom, int offset)
void * lwalloc(size_t size)
Definition lwutil.c:227
void lwfree(void *mem)
Definition lwutil.c:248

References gserialized_get_version(), lwalloc(), lwfree(), lwgeom_free(), lwgeom_from_gserialized(), lwgeom_summary(), and result.

Here is the call graph for this function: