Some users need a zero-byte-terminated string.
As the buffer internally already maintains a zero-termination, add a
helper function that exposes this to users.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
int ul_buffer_set_data(struct ul_buffer *buf, const char *data, size_t sz);
char *ul_buffer_get_data(struct ul_buffer *buf, size_t *sz, size_t *width);
+char *ul_buffer_get_string(struct ul_buffer *buf, size_t *sz, size_t *width);
char *ul_buffer_get_safe_data(struct ul_buffer *buf, size_t *sz, size_t *width, const char *safechars);
size_t ul_buffer_get_bufsiz(struct ul_buffer *buf);
return buf->begin;
}
+char *ul_buffer_get_string(struct ul_buffer *buf, size_t *sz, size_t *width)
+{
+ char *ret;
+
+ ret = ul_buffer_get_data(buf, sz, width);
+
+ /* data in buffer is already zero-terminated */
+ if (sz)
+ *sz = *sz + 1;
+
+ return ret;
+}
+
/* size of allocated area (!= size of stored data */
size_t ul_buffer_get_bufsiz(struct ul_buffer *buf)
{