Bump to 1e8c5b6.

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).

+ fix a regression in the previous commit for tab complete

Reported by Santtu Lakkala <inz@inz.fi>, thanks!

Ref.
https://git.suckless.org/dmenu/commit/528d39b011afb7ef6fd794ba6b74155d4e69bc68.html
https://git.suckless.org/dmenu/commit/1e8c5b68f4881bd4ae257c780fd41f129c79f419.html
This commit is contained in:
bakkeby 2022-09-04 23:16:15 +02:00
parent 1bc6ec6fcd
commit 6f9bd28e6b
2 changed files with 6 additions and 6 deletions

View File

@ -1,5 +1,5 @@
Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this dmenu 5.1 (e35976f, Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this dmenu 5.1 (1e8c5b6,
2022-08-08) project has a different take on patching. It uses preprocessor directives to decide 2022-09-01) project has a different take on patching. It uses preprocessor directives to decide
whether or not to include a patch during build time. Essentially this means that this build, for whether or not to include a patch during build time. Essentially this means that this build, for
better or worse, contains both the patched _and_ the original code. The aim being that you can better or worse, contains both the patched _and_ the original code. The aim being that you can
select which patches to include and the build will contain that code and nothing more. select which patches to include and the build will contain that code and nothing more.

View File

@ -1337,11 +1337,11 @@ insert:
#else #else
if (!sel) if (!sel)
return; return;
strncpy(text, sel->text, sizeof text - 1); cursor = strnlen(sel->text, sizeof text - 1);
text[sizeof text - 1] = '\0'; memcpy(text, sel->text, cursor);
cursor = strlen(text); text[cursor] = '\0';
match(); match();
#endif // #endif // PREFIXCOMPLETION_PATCH
break; break;
} }