aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/membuf.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/util/membuf.c b/util/membuf.c
index db3f5ac37..3f7a61ddd 100644
--- a/util/membuf.c
+++ b/util/membuf.c
@@ -52,7 +52,7 @@ put_membuf (membuf_t *mb, const void *buf, size_t len)
if (mb->len + len >= mb->size)
{
char *p;
-
+
mb->size += len + 1024;
p = xrealloc (mb->buf, mb->size);
mb->buf = p;
@@ -62,6 +62,13 @@ put_membuf (membuf_t *mb, const void *buf, size_t len)
}
+void
+put_membuf_str (membuf_t *mb, const char *buf)
+{
+ put_membuf (mb, buf, strlen (buf));
+}
+
+
void *
get_membuf (membuf_t *mb, size_t *len)
{
@@ -75,7 +82,8 @@ get_membuf (membuf_t *mb, size_t *len)
}
p = mb->buf;
- *len = mb->len;
+ if (len)
+ *len = mb->len;
mb->buf = NULL;
mb->out_of_core = ENOMEM; /* hack to make sure it won't get reused. */
return p;