diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-04-03 15:12:44 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-04-03 21:38:05 +0200 |
| commit | 7a39508120192d2651aba5387054d3bbcd15a96c (patch) | |
| tree | 4fba5caa2eacde6a8889ca858badcfd9fbaa2ab0 | |
| parent | d22d0cd31133c73366d65e38cddc3cf0f9a02918 (diff) | |
| download | vis-7a39508120192d2651aba5387054d3bbcd15a96c.tar.gz vis-7a39508120192d2651aba5387054d3bbcd15a96c.tar.xz | |
buffer: add buffer_content0 utility function
| -rw-r--r-- | buffer.c | 6 | ||||
| -rw-r--r-- | buffer.h | 3 |
2 files changed, 9 insertions, 0 deletions
@@ -103,3 +103,9 @@ size_t buffer_length(Buffer *buf) { const char *buffer_content(Buffer *buf) { return buf->data; } + +const char *buffer_content0(Buffer *buf) { + if (buf->len == 0 || (buf->data[buf->len-1] != '\0' && !buffer_append(buf, "\0", 1))) + return ""; + return buf->data; +} @@ -42,6 +42,9 @@ bool buffer_prepend0(Buffer*, const char *data); size_t buffer_length0(Buffer*); /* return length of a buffer including possible NUL byte */ size_t buffer_length(Buffer*); +/* pointer to buffer data, guaranteed to return a NUL terminated + * string even if buffer is empty */ +const char *buffer_content0(Buffer*); /* pointer to buffer data, might be NULL if empty, might not be NUL terminated */ const char *buffer_content(Buffer*); |
