aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/path.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-01-26 14:33:03 +0100
committerGitHub <noreply@github.com>2017-01-26 14:33:03 +0100
commit59fd0c4132f06a76c460f46ec93fce7b7f1d6f08 (patch)
tree0a6eaf861fa7406c9cd06ffd61dc37e84b051975 /src/nvim/path.c
parentf78982620a48dc76bbd3635300650d06ced24aab (diff)
downloadrneovim-59fd0c4132f06a76c460f46ec93fce7b7f1d6f08.tar.gz
rneovim-59fd0c4132f06a76c460f46ec93fce7b7f1d6f08.tar.bz2
rneovim-59fd0c4132f06a76c460f46ec93fce7b7f1d6f08.zip
refactor: Remove strncpy/STRNCPY. (#6008)
Closes #731 References #851 Note: This does not remove some intentional legacy usages of strncpy. - memcpy isn't equivalent because it doesn't check the string length of `src`, and doesn't zero-out the remainder of `dst`. - xstrlcpy isn't equivalent because it doesn't zero-out the remainder of `dst`. Some Vim logic depends on that (e.g. ex_append which calls vim_strnsave). Helped-by: Douglas Schneider <ds3@ualberta.ca> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: James McCoy <jamessan@jamessan.com>
Diffstat (limited to 'src/nvim/path.c')
-rw-r--r--src/nvim/path.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/path.c b/src/nvim/path.c
index 7e1183d5db..374d72ddd3 100644
--- a/src/nvim/path.c
+++ b/src/nvim/path.c
@@ -586,7 +586,7 @@ static size_t do_path_expand(garray_T *gap, const char_u *path,
}
if (has_mbyte) {
len = (size_t)(*mb_ptr2len)(path_end);
- STRNCPY(p, path_end, len);
+ memcpy(p, path_end, len);
p += len;
path_end += len;
} else
@@ -2188,7 +2188,8 @@ static int path_get_absolute_path(const char_u *fname, char_u *buf,
relative_directory[0] = '/';
relative_directory[1] = NUL;
} else {
- STRNCPY(relative_directory, fname, p-fname);
+ assert(p >= fname);
+ memcpy(relative_directory, fname, (size_t)(p - fname));
relative_directory[p-fname] = NUL;
}
end_of_path = (char *) (p + 1);