aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/cmdexpand.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-04-20 19:31:00 +0800
committerGitHub <noreply@github.com>2024-04-20 19:31:00 +0800
commit0ea38c9a53dfcff17703ea22f701ed1cc5bbd7d3 (patch)
tree60fa7289ee8fc164da54b905d030a09671297867 /src/nvim/cmdexpand.c
parent4d52b0cf670502caf81b70f2f1e6f8c548b78f58 (diff)
downloadrneovim-0ea38c9a53dfcff17703ea22f701ed1cc5bbd7d3.tar.gz
rneovim-0ea38c9a53dfcff17703ea22f701ed1cc5bbd7d3.tar.bz2
rneovim-0ea38c9a53dfcff17703ea22f701ed1cc5bbd7d3.zip
refactor: add xmemcpyz() and use it in place of some xstrlcpy() (#28422)
Problem: Using xstrlcpy() when the exact length of the string to be copied is known is not ideal because it requires adding 1 to the length and an unnecessary strlen(). Solution: Add xmemcpyz() and use it in place of such xstrlcpy() calls.
Diffstat (limited to 'src/nvim/cmdexpand.c')
-rw-r--r--src/nvim/cmdexpand.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/cmdexpand.c b/src/nvim/cmdexpand.c
index f172646edf..e5b209d4ab 100644
--- a/src/nvim/cmdexpand.c
+++ b/src/nvim/cmdexpand.c
@@ -1294,7 +1294,7 @@ char *addstar(char *fname, size_t len, int context)
}
} else {
retval = xmalloc(len + 4);
- xstrlcpy(retval, fname, len + 1);
+ xmemcpyz(retval, fname, len);
// Don't add a star to *, ~, ~user, $var or `cmd`.
// * would become **, which walks the whole tree.
@@ -2938,7 +2938,7 @@ void ExpandGeneric(const char *const pat, expand_T *xp, regmatch_T *regmatch, ch
static void expand_shellcmd_onedir(char *buf, char *s, size_t l, char *pat, char ***matches,
int *numMatches, int flags, hashtab_T *ht, garray_T *gap)
{
- xstrlcpy(buf, s, l + 1);
+ xmemcpyz(buf, s, l);
add_pathsep(buf);
l = strlen(buf);
xstrlcpy(buf + l, pat, MAXPATHL - l);