diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-05-24 19:18:11 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-05-24 19:18:11 +0000 |
commit | ff7ed8f586589d620a806c3758fac4a47a8e7e15 (patch) | |
tree | 729bbcb92231538fa61dab6c3d890b025484b7f5 /src/nvim/memory.c | |
parent | 376914f419eb08fdf4c1a63a77e1f035898a0f10 (diff) | |
parent | 28c04948a1c887a1cc0cb64de79fa32631700466 (diff) | |
download | rneovim-ff7ed8f586589d620a806c3758fac4a47a8e7e15.tar.gz rneovim-ff7ed8f586589d620a806c3758fac4a47a8e7e15.tar.bz2 rneovim-ff7ed8f586589d620a806c3758fac4a47a8e7e15.zip |
Merge remote-tracking branch 'upstream/master' into mix_20240309
Diffstat (limited to 'src/nvim/memory.c')
-rw-r--r-- | src/nvim/memory.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 37e53e4453..789535e270 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -202,7 +202,7 @@ void *xmallocz(size_t size) } void *ret = xmalloc(total_size); - ((char *)ret)[size] = 0; + ((char *)ret)[size] = '\0'; return ret; } @@ -222,6 +222,20 @@ void *xmemdupz(const void *data, size_t len) return memcpy(xmallocz(len), data, len); } +/// Copies `len` bytes of `src` to `dst` and zero terminates it. +/// +/// @see {xstrlcpy} +/// @param[out] dst Buffer to store the result. +/// @param[in] src Buffer to be copied. +/// @param[in] len Number of bytes to be copied. +void *xmemcpyz(void *dst, const void *src, size_t len) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET +{ + memcpy(dst, src, len); + ((char *)dst)[len] = '\0'; + return dst; +} + #ifndef HAVE_STRNLEN size_t xstrnlen(const char *s, size_t n) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE |