vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit be3a3625f2752565746e6ec3d6b83a74ff3b1218
parent aacac1998dca63ac9b98bcebcc2b5704a53e5e96
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Sat, 12 Mar 2016 13:54:03 +0100

register: make sure returned register content is always NUL terminated

Diffstat:
Mregister.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/register.c b/register.c @@ -30,7 +30,10 @@ void register_release(Register *reg) { const char *register_get(Vis *vis, Register *reg, size_t *len) { switch (reg->type) { case REGISTER_NORMAL: - *len = buffer_length0(&reg->buf); + if (reg->buf.len > 0 && reg->buf.data[reg->buf.len-1] != '\0') + buffer_append(&reg->buf, "\0", 1); + if (len) + *len = reg->buf.len > 0 ? reg->buf.len - 1 : 0; return reg->buf.data; case REGISTER_CLIPBOARD: {