1
0
Fork 0

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).
This commit is contained in:
NRK 2022-09-01 23:51:43 +06:00 committed by Hiltjo Posthuma
parent 32db2b1251
commit 528d39b011

View file

@ -517,9 +517,9 @@ insert:
case XK_Tab: case XK_Tab:
if (!sel) if (!sel)
return; 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'; text[sizeof text - 1] = '\0';
cursor = strlen(text);
match(); match();
break; break;
} }