From: Sandro Santilli Date: Tue, 17 Feb 2015 10:03:47 +0000 (+0000) Subject: Remove use of lw_vasprintf from libpgcommon X-Git-Tag: 2.2.0rc1~677 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ddcb10d3f54f63893b7763c93e7d72284805774a;p=postgis Remove use of lw_vasprintf from libpgcommon Drops useless heap allocations git-svn-id: http://svn.osgeo.org/postgis/trunk@13220 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/libpgcommon/lwgeom_pg.c b/libpgcommon/lwgeom_pg.c index 5b73f6280..e01af4c14 100644 --- a/libpgcommon/lwgeom_pg.c +++ b/libpgcommon/lwgeom_pg.c @@ -29,6 +29,8 @@ #define PARANOIA_LEVEL 1 +#define PGC_ERRMSG_MAXLEN 256 + /** * Utility to convert cstrings to textp pointers */ @@ -152,32 +154,23 @@ pg_free(void *ptr) static void pg_error(const char *fmt, va_list ap) { -#define ERRMSG_MAXLEN 256 - - char errmsg[ERRMSG_MAXLEN+1]; + char errmsg[PGC_ERRMSG_MAXLEN+1]; - vsnprintf (errmsg, ERRMSG_MAXLEN, fmt, ap); + vsnprintf (errmsg, PGC_ERRMSG_MAXLEN, fmt, ap); - errmsg[ERRMSG_MAXLEN]='\0'; + errmsg[PGC_ERRMSG_MAXLEN]='\0'; ereport(ERROR, (errmsg_internal("%s", errmsg))); } static void pg_notice(const char *fmt, va_list ap) { - char *msg; + char errmsg[PGC_ERRMSG_MAXLEN+1]; - /* - * This is a GNU extension. - * Dunno how to handle errors here. - */ - if (!lw_vasprintf (&msg, fmt, ap)) - { - va_end (ap); - return; - } - ereport(NOTICE, (errmsg_internal("%s", msg))); - free(msg); + vsnprintf (errmsg, PGC_ERRMSG_MAXLEN, fmt, ap); + + errmsg[PGC_ERRMSG_MAXLEN]='\0'; + ereport(NOTICE, (errmsg_internal("%s", errmsg))); } void