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