From a7ad50990228c4ed2f22ba334a11903fc7f81260 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Fri, 19 Nov 2021 16:13:49 +0100 Subject: fix(eval): fixup for empty modifier in fnamemodify (#16368) * fix(eval): fixup for empty modifier in fnamemodify https://github.com/neovim/neovim/commit/1dbbaf89bf5d3bcd1edac3af9938c2e2dd18f816 erroneously removed a check for empty modifier and a PVS fix. Restore that check and fix. Fixes #16367 Co-authored-by: zeertzjq --- src/nvim/eval/funcs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/nvim/eval/funcs.c') diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index 7549ec7ac8..6001440888 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -2663,12 +2663,12 @@ static void f_fnamemodify(typval_T *argvars, typval_T *rettv, FunPtr fptr) char buf[NUMBUFLEN]; const char *fname = tv_get_string_chk(&argvars[0]); const char *const mods = tv_get_string_buf_chk(&argvars[1], buf); - if (fname == NULL) { + if (mods == NULL || fname == NULL) { fname = NULL; - } else if (mods != NULL && *mods != NUL) { + } else { len = strlen(fname); - size_t usedlen = 0; if (*mods != NUL) { + size_t usedlen = 0; (void)modify_fname((char_u *)mods, false, &usedlen, (char_u **)&fname, &fbuf, &len); } -- cgit