commit 528d39b011afb7ef6fd794ba6b74155d4e69bc68
parent 32db2b125190d366be472ccb7cad833248696144
Author: NRK <nrk@disroot.org>
Date: Thu, 1 Sep 2022 23:51:43 +0600
tab-complete: figure out the size before copying
we already need to know the string length since `cursor` needs to be
adjusted.
so just calculate the length beforehand and use `memcpy` to copy exactly
as much as needed (as opposed to `strncpy` which always writes `n`
bytes).
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dmenu.c b/dmenu.c
@@ -517,9 +517,9 @@ insert:
case XK_Tab:
if (!sel)
return;
- strncpy(text, sel->text, sizeof text - 1);
+ cursor = strnlen(sel->text, sizeof text - 1);
+ memcpy(text, sel->text, cursor);
text[sizeof text - 1] = '\0';
- cursor = strlen(text);
match();
break;
}