aboutsummaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-09-14 21:14:53 +0200
committerMarc André Tanner <mat@brain-dump.org>2015-09-15 09:09:15 +0200
commite57595741285eebf1aac2f2ceac19cae5d949612 (patch)
treed705dc5812a27e39730917b8cdea0ec1a2458688 /buffer.c
parentf20ea432e67d3b0223129b418613c74b3beae450 (diff)
downloadvis-e57595741285eebf1aac2f2ceac19cae5d949612.tar.gz
vis-e57595741285eebf1aac2f2ceac19cae5d949612.tar.xz
buffer: add buffer_put0 to store a NUL terminated string
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/buffer.c b/buffer.c
index 05e8177..7784785 100644
--- a/buffer.c
+++ b/buffer.c
@@ -39,11 +39,15 @@ void buffer_release(Buffer *buf) {
bool buffer_put(Buffer *buf, const void *data, size_t len) {
if (!buffer_grow(buf, len))
return false;
- memcpy(buf->data, data, len);
+ memmove(buf->data, data, len);
buf->len = len;
return true;
}
+bool buffer_put0(Buffer *buf, const char *data) {
+ return buffer_put(buf, data, strlen(data)+1);
+}
+
bool buffer_append(Buffer *buf, const void *data, size_t len) {
size_t rem = buf->size - buf->len;
if (len > rem && !buffer_grow(buf, buf->size + len - rem))