From 9d4330e382e5b3542bd5f51690c8bb0bdbff1fd8 Mon Sep 17 00:00:00 2001 From: 0xACE <0xACE@users.noreply.github.com> Date: Tue, 17 Aug 2021 04:51:02 +0000 Subject: [PATCH] Decide string length at compile time (#1130) I run into many premature optimizations in our codebase which are unnecessary. In this particular case `strlen()` is optimized at compile time even at `-O0` with `gcc`. I would value higher code quality than dealing with these things in our future endeavours. If this is accepted I may supply some more readability patches. --- src/nnn.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index 4d0bc37e..b4caed02 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -7972,12 +7972,12 @@ static bool setup_config(void) return FALSE; } - len = xstrlen(xdgcfg) + 1 + 14; /* add length of "/nnn/bookmarks" */ + len = xstrlen(xdgcfg) + xstrlen("/nnn/bookmarks") + 1; xdg = TRUE; } if (!xdg) - len = xstrlen(home) + 1 + 22; /* add length of "/.config/nnn/bookmarks" */ + len = xstrlen(home) + xstrlen("/.config/nnn/bookmarks") + 1; cfgpath = (char *)malloc(len); plgpath = (char *)malloc(len); @@ -7988,7 +7988,7 @@ static bool setup_config(void) if (xdg) { xstrsncpy(cfgpath, xdgcfg, len); - r = len - 13; /* subtract length of "/nnn/sessions" */ + r = len - xstrlen("/nnn/bookmarks"); } else { r = xstrsncpy(cfgpath, home, len); -- 2.48.1