aboutsummaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-02-25 16:50:30 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-02-25 17:20:00 +0100
commit301ad6d3a7a0684f4e4c14a48c6e8b8de5567ce0 (patch)
tree860854b26b571a8d578858b61baad1515b2367ab /buffer.c
parent95bae46af604f1fda07c8e7b92a278e28792c427 (diff)
downloadvis-301ad6d3a7a0684f4e4c14a48c6e8b8de5567ce0.tar.gz
vis-301ad6d3a7a0684f4e4c14a48c6e8b8de5567ce0.tar.xz
vis: ignore trailing NUL byte of register content by default
This is handy when editing registers used for macros.
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/buffer.c b/buffer.c
index b9bc28c..c4830d6 100644
--- a/buffer.c
+++ b/buffer.c
@@ -88,3 +88,10 @@ bool buffer_prepend(Buffer *buf, const void *data, size_t len) {
bool buffer_prepend0(Buffer *buf, const char *data) {
return buffer_prepend(buf, data, strlen(data) + (buf->len == 0));
}
+
+size_t buffer_length0(Buffer *buf) {
+ size_t len = buf->len;
+ if (len > 0 && buf->data[len-1] == '\0')
+ len--;
+ return len;
+}