static const char* default_prefix = "gml:"; /* default prefix */
const char* prefix = default_prefix;
const char* gml_id = NULL;
+ size_t len;
+ char *gml_id_buf, *prefix_buf;
+ text *prefix_text, *gml_id_text;
+
/* Get the version */
version = PG_GETARG_INT32(0);
/* retrieve prefix */
if (PG_NARGS() >4 && !PG_ARGISNULL(4))
{
- text* prefix_text = PG_GETARG_TEXT_P(4);
+ prefix_text = PG_GETARG_TEXT_P(4);
if ( VARSIZE(prefix_text) == VARHDRSZ )
{
prefix = "";
}
else
{
- size_t len = VARSIZE(prefix_text)-VARHDRSZ;
- char* prefix_buf = palloc(len + 2); /* +2 is one for the ':' and one for term null */
+ len = VARSIZE(prefix_text)-VARHDRSZ;
+ prefix_buf = palloc(len + 2); /* +2 is one for the ':' and one for term null */
memcpy(prefix_buf, VARDATA(prefix_text), len);
/* add colon and null terminate */
prefix_buf[len] = ':';
if (PG_NARGS() >5 && !PG_ARGISNULL(5))
{
- text* gml_id_text = PG_GETARG_TEXT_P(5);
+ gml_id_text = PG_GETARG_TEXT_P(5);
if ( VARSIZE(gml_id_text) == VARHDRSZ )
{
gml_id = "";
}
else
{
- size_t len = VARSIZE(gml_id_text)-VARHDRSZ;
- char* gml_id_buf = palloc(len+1);
+ len = VARSIZE(gml_id_text)-VARHDRSZ;
+ gml_id_buf = palloc(len+1);
memcpy(gml_id_buf, VARDATA(gml_id_text), len);
gml_id_buf[len] = '\0';
gml_id = gml_id_buf;