diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/membuf.c | 12 |
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; |