From 695e77ee80c7da6c2ecfe075c3d4309d5d97306d Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Fri, 18 Nov 2005 10:16:21 +0000 Subject: [PATCH] Removed casts on lwalloc return. Used varlena macros when appropriate. git-svn-id: http://svn.osgeo.org/postgis/trunk@2047 b70326c6-7e19-0410-871a-916f4a2858ee --- lwgeom/lwgeom_functions_basic.c | 6 +++--- lwgeom/lwgeom_gml.c | 14 +++++++++----- lwgeom/lwgeom_svg.c | 16 ++++++++++------ 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/lwgeom/lwgeom_functions_basic.c b/lwgeom/lwgeom_functions_basic.c index 18f7b8c53..96566fa4c 100644 --- a/lwgeom/lwgeom_functions_basic.c +++ b/lwgeom/lwgeom_functions_basic.c @@ -392,7 +392,7 @@ Datum postgis_lib_version(PG_FUNCTION_ARGS) { char *ver = POSTGIS_LIB_VERSION; text *result; - result = (text *) lwalloc(VARHDRSZ + strlen(ver)); + result = lwalloc(VARHDRSZ + strlen(ver)); VARATT_SIZEP(result) = VARHDRSZ + strlen(ver) ; memcpy(VARDATA(result), ver, strlen(ver)); PG_RETURN_POINTER(result); @@ -403,7 +403,7 @@ Datum postgis_lib_build_date(PG_FUNCTION_ARGS) { char *ver = POSTGIS_BUILD_DATE; text *result; - result = (text *) lwalloc(VARHDRSZ + strlen(ver)); + result = lwalloc(VARHDRSZ + strlen(ver)); VARATT_SIZEP(result) = VARHDRSZ + strlen(ver) ; memcpy(VARDATA(result), ver, strlen(ver)); PG_RETURN_POINTER(result); @@ -414,7 +414,7 @@ Datum postgis_scripts_released(PG_FUNCTION_ARGS) { char *ver = POSTGIS_SCRIPTS_VERSION; text *result; - result = (text *) lwalloc(VARHDRSZ + strlen(ver)); + result = lwalloc(VARHDRSZ + strlen(ver)); VARATT_SIZEP(result) = VARHDRSZ + strlen(ver) ; memcpy(VARDATA(result), ver, strlen(ver)); PG_RETURN_POINTER(result); diff --git a/lwgeom/lwgeom_gml.c b/lwgeom/lwgeom_gml.c index bcf5593bf..fe3f5e252 100644 --- a/lwgeom/lwgeom_gml.c +++ b/lwgeom/lwgeom_gml.c @@ -52,7 +52,7 @@ Datum LWGEOM_asGML(PG_FUNCTION_ARGS) { PG_LWGEOM *geom; char *gml; - char *result; + text *result; int len; int version = 2; char *srs; @@ -94,16 +94,16 @@ Datum LWGEOM_asGML(PG_FUNCTION_ARGS) gml = geometry_to_gml(SERIALIZED_FORM(geom), srs); PG_FREE_IF_COPY(geom, 0); - len = strlen(gml) + 5; + len = strlen(gml) + VARHDRSZ; result = palloc(len); - *((int *) result) = len; + VARATT_SIZEP(result) = len; - memcpy(result+4, gml, len-4); + memcpy(VARDATA(result), gml, len-VARHDRSZ); pfree(gml); - PG_RETURN_CSTRING(result); + PG_RETURN_POINTER(result); } // takes a GEOMETRY and returns a GML representation @@ -504,6 +504,10 @@ getSRSbySRID(int SRID) /********************************************************************** * $Log$ + * Revision 1.11 2005/11/18 10:16:21 strk + * Removed casts on lwalloc return. + * Used varlena macros when appropriate. + * * Revision 1.10 2005/02/10 17:41:55 strk * Dropped getbox2d_internal(). * Removed all castings of getPoint() output, which has been renamed diff --git a/lwgeom/lwgeom_svg.c b/lwgeom/lwgeom_svg.c index db3a37532..f3b211801 100644 --- a/lwgeom/lwgeom_svg.c +++ b/lwgeom/lwgeom_svg.c @@ -40,7 +40,7 @@ Datum assvg_geometry(PG_FUNCTION_ARGS) { PG_LWGEOM *geom; char *svg; - char *result; + text *result; int len; int32 svgrel=0; int32 precision=MAX_DOUBLE_PRECISION; @@ -64,17 +64,17 @@ Datum assvg_geometry(PG_FUNCTION_ARGS) svg = geometry_to_svg(geom, svgrel, precision); if ( ! svg ) PG_RETURN_NULL(); - len = strlen(svg) + 4; + len = strlen(svg) + VARHDRSZ; - result= palloc(len); - *((int *) result) = len; + result = palloc(len); + VARATT_SIZEP(result) = len; - memcpy(result +4, svg, len-4); + memcpy(VARDATA(result), svg, len-VARHDRSZ); pfree(svg); PG_FREE_IF_COPY(geom, 0); - PG_RETURN_CSTRING(result); + PG_RETURN_POINTER(result); } @@ -280,6 +280,10 @@ print_svg_path_rel(char *result, POINTARRAY *pa, int precision) /********************************************************************** * $Log$ + * Revision 1.9 2005/11/18 10:16:21 strk + * Removed casts on lwalloc return. + * Used varlena macros when appropriate. + * * Revision 1.8 2005/02/10 17:41:55 strk * Dropped getbox2d_internal(). * Removed all castings of getPoint() output, which has been renamed -- 2.49.0