diff options
| -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*); |
