[postgis-commits] svn - r2945 - in trunk: liblwgeom lwgeom
postgis-commits at postgis.refractions.net
postgis-commits at postgis.refractions.net
Sun Sep 7 04:02:15 PDT 2008
Author: mcayland
Date: 2008-09-07 04:02:05 -0700 (Sun, 07 Sep 2008)
New Revision: 2945
Modified:
trunk/liblwgeom/liblwgeom.h
trunk/liblwgeom/lwgeom.c
trunk/lwgeom/lwgeom_inout.c
trunk/lwgeom/lwgeom_ogc.c
trunk/lwgeom/lwgeom_pg.c
Log:
Yet another update to the liblwgeom parser API - lwgeom_from_ewkt() has been renamed to serialized_lwgeom_from_ewkt() to indicate that the function returns a serialied LWGEOM rather than an unserialized LWGEOM structure.
Modified: trunk/liblwgeom/liblwgeom.h
===================================================================
--- trunk/liblwgeom/liblwgeom.h 2008-09-07 09:14:59 UTC (rev 2944)
+++ trunk/liblwgeom/liblwgeom.h 2008-09-07 11:02:05 UTC (rev 2945)
@@ -1116,12 +1116,12 @@
/* Parser access routines */
extern char *lwgeom_to_ewkt(LWGEOM *lwgeom);
-extern SERIALIZED_LWGEOM *lwgeom_from_ewkt(char *wkt_input);
extern char *lwgeom_to_hexwkb(LWGEOM *lwgeom, unsigned int byteorder);
extern LWGEOM *lwgeom_from_ewkb(uchar *ewkb, size_t ewkblen);
extern uchar *lwgeom_to_ewkb(LWGEOM *lwgeom, char byteorder, size_t *ewkblen);
extern char *serialized_lwgeom_to_ewkt(uchar *serialized);
+extern SERIALIZED_LWGEOM *serialized_lwgeom_from_ewkt(char *wkt_input);
extern char *serialized_lwgeom_to_hexwkb(uchar *serialized, unsigned int byteorder, size_t *size);
extern char *serialized_lwgeom_to_ewkb(uchar *serialized, unsigned int byteorder, size_t *size);
Modified: trunk/liblwgeom/lwgeom.c
===================================================================
--- trunk/liblwgeom/lwgeom.c 2008-09-07 09:14:59 UTC (rev 2944)
+++ trunk/liblwgeom/lwgeom.c 2008-09-07 11:02:05 UTC (rev 2945)
@@ -454,27 +454,6 @@
/*
- * Make a LWGEOM object from a WKT input string
- */
-SERIALIZED_LWGEOM *
-lwgeom_from_ewkt(char *wkt_input)
-{
- SERIALIZED_LWGEOM *serialized_form = parse_lwg(wkt_input,
- lwalloc, lwerror);
-
-
- LWDEBUGF(2, "lwgeom_from_ewkt with %s",wkt_input);
-
- if (serialized_form == NULL)
- {
- lwerror("lwgeom_from_ewkt:: couldnt parse!");
- return NULL;
- }
-
- return serialized_form;
-}
-
-/*
* Return an alloced string
*/
char *
@@ -543,7 +522,7 @@
hexewkb[hexewkblen] = '\0';
/* Rely on grammar parser to construct a LWGEOM */
- serialized_lwgeom = lwgeom_from_ewkt(hexewkb);
+ serialized_lwgeom = serialized_lwgeom_from_ewkt(hexewkb);
/* Free intermediate HEXified representation */
lwfree(hexewkb);
@@ -561,6 +540,27 @@
*/
/*
+ * Make a serialzed LWGEOM object from a WKT input string
+ */
+SERIALIZED_LWGEOM *
+serialized_lwgeom_from_ewkt(char *wkt_input)
+{
+ SERIALIZED_LWGEOM *serialized_form = parse_lwg(wkt_input,
+ lwalloc, lwerror);
+
+
+ LWDEBUGF(2, "serialized_lwgeom_from_ewkt with %s",wkt_input);
+
+ if (serialized_form == NULL)
+ {
+ lwerror("serialized_lwgeom_from_ewkt:: couldnt parse!");
+ return NULL;
+ }
+
+ return serialized_form;
+}
+
+/*
* Return an alloced string
*/
char *
Modified: trunk/lwgeom/lwgeom_inout.c
===================================================================
--- trunk/lwgeom/lwgeom_inout.c 2008-09-07 09:14:59 UTC (rev 2944)
+++ trunk/lwgeom/lwgeom_inout.c 2008-09-07 11:02:05 UTC (rev 2945)
@@ -63,15 +63,15 @@
Datum LWGEOM_in(PG_FUNCTION_ARGS)
{
char *str = PG_GETARG_CSTRING(0);
- SERIALIZED_LWGEOM *serialized_lwgeom;
- LWGEOM *lwgeom;
- PG_LWGEOM *ret;
+ SERIALIZED_LWGEOM *serialized_lwgeom;
+ LWGEOM *lwgeom;
+ PG_LWGEOM *ret;
/* will handle both HEXEWKB and EWKT */
- serialized_lwgeom = lwgeom_from_ewkt(str);
+ serialized_lwgeom = serialized_lwgeom_from_ewkt(str);
lwgeom = lwgeom_deserialize(serialized_lwgeom->lwgeom);
- ret = pglwgeom_serialize(lwgeom);
+ ret = pglwgeom_serialize(lwgeom);
lwgeom_release(lwgeom);
if ( is_worth_caching_pglwgeom_bbox(ret) )
@@ -476,7 +476,7 @@
POSTGIS_DEBUGF(3, "in parse_WKT_lwgeom with input: '%s'",wkt);
- serialized_lwgeom = lwgeom_from_ewkt(wkt);
+ serialized_lwgeom = serialized_lwgeom_from_ewkt(wkt);
lwgeom = lwgeom_deserialize(serialized_lwgeom->lwgeom);
ret = pglwgeom_serialize(lwgeom);
Modified: trunk/lwgeom/lwgeom_ogc.c
===================================================================
--- trunk/lwgeom/lwgeom_ogc.c 2008-09-07 09:14:59 UTC (rev 2944)
+++ trunk/lwgeom/lwgeom_ogc.c 2008-09-07 11:02:05 UTC (rev 2945)
@@ -1002,7 +1002,7 @@
POSTGIS_DEBUGF(3, "wkt: [%s]", wkt);
- serialized_lwgeom = lwgeom_from_ewkt(wkt);
+ serialized_lwgeom = serialized_lwgeom_from_ewkt(wkt);
lwgeom = lwgeom_deserialize(serialized_lwgeom->lwgeom);
if ( lwgeom->SRID != -1 || TYPE_GETZM(lwgeom->type) != 0 )
Modified: trunk/lwgeom/lwgeom_pg.c
===================================================================
--- trunk/lwgeom/lwgeom_pg.c 2008-09-07 09:14:59 UTC (rev 2944)
+++ trunk/lwgeom/lwgeom_pg.c 2008-09-07 11:02:05 UTC (rev 2945)
@@ -252,7 +252,7 @@
pglwgeom_from_ewkb(uchar *ewkb, size_t ewkblen)
{
PG_LWGEOM *ret;
- SERIALIZED_LWGEOM *serialized_lwgeom;
+ SERIALIZED_LWGEOM *serialized_lwgeom;
char *hexewkb;
size_t hexewkblen = ewkblen*2;
int i;
@@ -264,10 +264,10 @@
}
hexewkb[hexewkblen] = '\0';
- serialized_lwgeom = lwgeom_from_ewkt(hexewkb);
+ serialized_lwgeom = serialized_lwgeom_from_ewkt(hexewkb);
- ret = (PG_LWGEOM *)palloc(serialized_lwgeom->size + VARHDRSZ);
- SET_VARSIZE(ret, serialized_lwgeom->size + VARHDRSZ);
+ ret = (PG_LWGEOM *)palloc(serialized_lwgeom->size + VARHDRSZ);
+ SET_VARSIZE(ret, serialized_lwgeom->size + VARHDRSZ);
memcpy(VARDATA(ret), serialized_lwgeom->lwgeom, serialized_lwgeom->size);
lwfree(hexewkb);
More information about the postgis-commits
mailing list