tab-complete: figure out the size before copying - dmenu - dynamic menu
 (HTM) git clone git://git.suckless.org/dmenu
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 528d39b011afb7ef6fd794ba6b74155d4e69bc68
 (DIR) parent 32db2b125190d366be472ccb7cad833248696144
 (HTM) 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:
         M dmenu.c                             |       4 ++--
       
       1 file changed, 2 insertions(+), 2 deletions(-)
       ---
 (DIR) 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;
                }