]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0615: Unnecessary STRLEN() in make_percent_swname() v9.1.0615
authorzeertzjq <zeertzjq@outlook.com>
Thu, 25 Jul 2024 18:58:42 +0000 (20:58 +0200)
committerChristian Brabandt <cb@256bit.org>
Thu, 25 Jul 2024 18:58:42 +0000 (20:58 +0200)
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>
src/bufwrite.c
src/memline.c
src/proto/memline.pro
src/version.c

index c9d9875d64531e0bed52ad0d1a8165111d3990ee..23cd884bfa32984bed429d1587e59ca5027e9368 100644 (file)
@@ -1350,7 +1350,7 @@ buf_write(
                p = copybuf + STRLEN(copybuf);
                if (after_pathsep(copybuf, p) && p[-1] == p[-2])
                    // Ends with '//', use full path
-                   if ((p = make_percent_swname(copybuf, fname)) != NULL)
+                   if ((p = make_percent_swname(copybuf, p, fname)) != NULL)
                    {
                        backup = modname(p, backup_ext, FALSE);
                        vim_free(p);
@@ -1564,7 +1564,7 @@ buf_write(
                p = IObuff + STRLEN(IObuff);
                if (after_pathsep(IObuff, p) && p[-1] == p[-2])
                    // path ends with '//', use full path
-                   if ((p = make_percent_swname(IObuff, fname)) != NULL)
+                   if ((p = make_percent_swname(IObuff, p, fname)) != NULL)
                    {
                        backup = modname(p, backup_ext, FALSE);
                        vim_free(p);
index 9e579cdfd9ec93977362af140e167cbc73044b50..b93eb0a48e3887f05837911f334b98c998cff479 100644 (file)
@@ -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 *name)
            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);
index c5d9b5d8dad95cde6838ab303651610fa360382c..238bceafbbb1ea50d14beea4fe19bb180ad6b479 100644 (file)
@@ -11,7 +11,7 @@ void ml_close_notmod(void);
 void ml_timestamp(buf_T *buf);
 void ml_recover(int checkext);
 int recover_names(char_u *fname, int do_list, list_T *ret_list, int nr, char_u **fname_out);
-char_u *make_percent_swname(char_u *dir, char_u *name);
+char_u *make_percent_swname(char_u *dir, char_u *dir_end, char_u *name);
 void get_b0_dict(char_u *fname, dict_T *d);
 void ml_sync_all(int check_file, int check_char);
 void ml_preserve(buf_T *buf, int message);
index 3d6e3a878eea5e3d0fa3ac461bb75c06c541d037..f434a136b8c2f339315c284aa5845feb1c77b933 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    615,
 /**/
     614,
 /**/