summaryrefslogtreecommitdiff
path: root/src/common/fe_memutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/fe_memutils.c')
-rw-r--r--src/common/fe_memutils.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/common/fe_memutils.c b/src/common/fe_memutils.c
index bfe79f8e437..7b96a4b6ba7 100644
--- a/src/common/fe_memutils.c
+++ b/src/common/fe_memutils.c
@@ -93,6 +93,25 @@ pg_free(void *ptr)
free(ptr);
}
+int
+pg_asprintf(char **ret, const char *format, ...)
+{
+ va_list ap;
+ int rc;
+
+ va_start(ap, format);
+ rc = vasprintf(ret, format, ap);
+ va_end(ap);
+
+ if (rc < 0)
+ {
+ fprintf(stderr, _("out of memory\n"));
+ exit(EXIT_FAILURE);
+ }
+
+ return rc;
+}
+
/*
* Frontend emulation of backend memory management functions. Useful for
* programs that compile backend files.
@@ -126,3 +145,23 @@ repalloc(void *pointer, Size size)
{
return pg_realloc(pointer, size);
}
+
+char *
+psprintf(const char *format, ...)
+{
+ va_list ap;
+ int rc;
+ char *ret;
+
+ va_start(ap, format);
+ rc = vasprintf(&ret, format, ap);
+ va_end(ap);
+
+ if (rc < 0)
+ {
+ fprintf(stderr, _("out of memory\n"));
+ exit(EXIT_FAILURE);
+ }
+
+ return ret;
+}