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).main
parent
61d32c8d35
commit
2960a6644f
4
dmenu.c
4
dmenu.c
|
@ -605,9 +605,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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue