mirror of
https://github.com/neovim/neovim.git
synced 2025-10-13 05:16:09 +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:
@@ -112,11 +112,11 @@ int64_t os_get_pid(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
/// Get the hostname of the machine running Neovim.
|
||||
/// Gets the hostname of the current machine.
|
||||
///
|
||||
/// @param hostname Buffer to store the hostname.
|
||||
/// @param len Length of `hostname`.
|
||||
void os_get_hostname(char *hostname, size_t len)
|
||||
/// @param hostname Buffer to store the hostname.
|
||||
/// @param size Size of `hostname`.
|
||||
void os_get_hostname(char *hostname, size_t size)
|
||||
{
|
||||
#ifdef HAVE_SYS_UTSNAME_H
|
||||
struct utsname vutsname;
|
||||
@@ -124,8 +124,7 @@ void os_get_hostname(char *hostname, size_t len)
|
||||
if (uname(&vutsname) < 0) {
|
||||
*hostname = '\0';
|
||||
} else {
|
||||
strncpy(hostname, vutsname.nodename, len - 1);
|
||||
hostname[len - 1] = '\0';
|
||||
xstrlcpy(hostname, vutsname.nodename, size);
|
||||
}
|
||||
#else
|
||||
// TODO(unknown): Implement this for windows.
|
||||
|
Reference in New Issue
Block a user