diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2024-04-20 19:31:00 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-20 19:31:00 +0800 |
| commit | 0ea38c9a53dfcff17703ea22f701ed1cc5bbd7d3 (patch) | |
| tree | 60fa7289ee8fc164da54b905d030a09671297867 /src/nvim/os | |
| parent | 4d52b0cf670502caf81b70f2f1e6f8c548b78f58 (diff) | |
| download | rneovim-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/os')
| -rw-r--r-- | src/nvim/os/env.c | 2 | ||||
| -rw-r--r-- | src/nvim/os/fs.c | 2 | ||||
| -rw-r--r-- | src/nvim/os/stdpaths.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/os/env.c b/src/nvim/os/env.c index 8a81f6e928..ed55f4f0eb 100644 --- a/src/nvim/os/env.c +++ b/src/nvim/os/env.c @@ -1195,7 +1195,7 @@ bool os_setenv_append_path(const char *fname) const char *tail = path_tail_with_sep((char *)fname); size_t dirlen = (size_t)(tail - fname); assert(tail >= fname && dirlen + 1 < sizeof(os_buf)); - xstrlcpy(os_buf, fname, dirlen + 1); + xmemcpyz(os_buf, fname, dirlen); const char *path = os_getenv("PATH"); const size_t pathlen = path ? strlen(path) : 0; const size_t newlen = pathlen + dirlen + 2; diff --git a/src/nvim/os/fs.c b/src/nvim/os/fs.c index aa344d786c..2eca906d4e 100644 --- a/src/nvim/os/fs.c +++ b/src/nvim/os/fs.c @@ -374,7 +374,7 @@ static bool is_executable_in_path(const char *name, char **abspath) char *e = xstrchrnul(p, ENV_SEPCHAR); // Combine the $PATH segment with `name`. - xstrlcpy(buf, p, (size_t)(e - p) + 1); + xmemcpyz(buf, p, (size_t)(e - p)); (void)append_path(buf, name, buf_len); #ifdef MSWIN diff --git a/src/nvim/os/stdpaths.c b/src/nvim/os/stdpaths.c index 187a0e0674..e5bdd56fe6 100644 --- a/src/nvim/os/stdpaths.c +++ b/src/nvim/os/stdpaths.c @@ -198,7 +198,7 @@ char *get_xdg_home(const XDGVarType idx) assert(appname_len < (IOSIZE - sizeof("-data"))); if (dir) { - xstrlcpy(IObuff, appname, appname_len + 1); + xmemcpyz(IObuff, appname, appname_len); #if defined(MSWIN) if (idx == kXDGDataHome || idx == kXDGStateHome) { xstrlcat(IObuff, "-data", IOSIZE); |