diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/strings.c | 16 | ||||
-rw-r--r-- | src/nvim/strings.h | 7 |
2 files changed, 7 insertions, 16 deletions
diff --git a/src/nvim/strings.c b/src/nvim/strings.c index fbad71e3c6..731afa4452 100644 --- a/src/nvim/strings.c +++ b/src/nvim/strings.c @@ -46,14 +46,7 @@ */ char_u *vim_strsave(char_u *string) { - char_u *p; - unsigned len; - - len = (unsigned)STRLEN(string) + 1; - p = alloc(len); - if (p != NULL) - memmove(p, string, (size_t)len); - return p; + return (char_u *)xstrdup((char *)string); } /* @@ -64,12 +57,7 @@ char_u *vim_strsave(char_u *string) */ char_u *vim_strnsave(char_u *string, int len) { - char_u *p; - - p = alloc((unsigned)(len + 1)); - STRNCPY(p, string, len); - p[len] = NUL; - return p; + return (char_u *)strncpy(xmallocz(len), (char *)string, len); } /* diff --git a/src/nvim/strings.h b/src/nvim/strings.h index 831191b517..aec9e4d06d 100644 --- a/src/nvim/strings.h +++ b/src/nvim/strings.h @@ -1,7 +1,10 @@ #ifndef NVIM_STRINGS_H #define NVIM_STRINGS_H -char_u *vim_strsave(char_u *string); -char_u *vim_strnsave(char_u *string, int len); + +#include "func_attr.h" + +char_u *vim_strsave(char_u *string) FUNC_ATTR_NONNULL_RET; +char_u *vim_strnsave(char_u *string, int len) FUNC_ATTR_NONNULL_RET; char_u *vim_strsave_escaped(char_u *string, char_u *esc_chars); char_u *vim_strsave_escaped_ext(char_u *string, char_u *esc_chars, int cc, |