diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-09-14 21:14:53 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-09-15 09:09:15 +0200 |
| commit | e57595741285eebf1aac2f2ceac19cae5d949612 (patch) | |
| tree | d705dc5812a27e39730917b8cdea0ec1a2458688 | |
| parent | f20ea432e67d3b0223129b418613c74b3beae450 (diff) | |
| download | vis-e57595741285eebf1aac2f2ceac19cae5d949612.tar.gz vis-e57595741285eebf1aac2f2ceac19cae5d949612.tar.xz | |
buffer: add buffer_put0 to store a NUL terminated string
| -rw-r--r-- | buffer.c | 6 | ||||
| -rw-r--r-- | buffer.h | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -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)) @@ -21,6 +21,8 @@ bool buffer_grow(Buffer*, size_t size); void buffer_truncate(Buffer*); /* replace buffer content with given data, growing the buffer if needed */ bool buffer_put(Buffer*, const void *data, size_t len); +/* same but with NUL-terminated data */ +bool buffer_put0(Buffer*, const char *data); /* append futher content to the end of the buffer data */ bool buffer_append(Buffer*, const void *data, size_t len); /* append NUl-terminated data */ |
