Mercurial > vim
diff src/memline.c @ 35790:004a419cc521 v9.1.0615
patch 9.1.0615: Unnecessary STRLEN() in make_percent_swname()
Commit: https://github.com/vim/vim/commit/242667ae142d9862a7bace82c58cb11c79fdab7a
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Jul 25 20:58:42 2024 +0200
patch 9.1.0615: Unnecessary STRLEN() in make_percent_swname()
Problem: Unnecessary STRLEN() in make_percent_swname()
Solution: Pass the end of "dir" to make_percent_swname()
(zeertzjq)
closes: #15340
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 25 Jul 2024 21:00:15 +0200 |
parents | 5c89a485e597 |
children |
line wrap: on
line diff
--- a/src/memline.c +++ b/src/memline.c @@ -1975,7 +1975,7 @@ recover_names( if (after_pathsep(dir_name, p) && len > 1 && p[-1] == p[-2]) { // Ends with '//', Use Full path for swap name - tail = make_percent_swname(dir_name, fname_res); + tail = make_percent_swname(dir_name, p, fname_res); } else #endif @@ -2143,7 +2143,7 @@ recover_names( * removed. */ char_u * -make_percent_swname(char_u *dir, char_u *name) +make_percent_swname(char_u *dir, char_u *dir_end, char_u *name) { char_u *d = NULL, *s, *f; @@ -2159,7 +2159,7 @@ make_percent_swname(char_u *dir, char_u if (vim_ispathsep(*d)) *d = '%'; - dir[STRLEN(dir) - 1] = NUL; // remove one trailing slash + dir_end[-1] = NUL; // remove one trailing slash d = concat_fnames(dir, s, TRUE); vim_free(s); } @@ -4676,7 +4676,7 @@ makeswapname( if (after_pathsep(dir_name, s) && len > 1 && s[-1] == s[-2]) { // Ends with '//', Use Full path r = NULL; - if ((s = make_percent_swname(dir_name, fname_res)) != NULL) + if ((s = make_percent_swname(dir_name, s, fname_res)) != NULL) { r = modname(s, (char_u *)".swp", FALSE); vim_free(s);