mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
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>
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user