diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-08 21:32:40 -0300 |
---|---|---|
committer | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-19 14:50:22 -0300 |
commit | b63d2626ed9e3e38a485b9990a8e65ba59d6906a (patch) | |
tree | b27def240b199a2a85021ec939dbee8d17943e34 | |
parent | 32d018b57edbc75d6a70c5cd3e8012d7f924f460 (diff) | |
download | rneovim-b63d2626ed9e3e38a485b9990a8e65ba59d6906a.tar.gz rneovim-b63d2626ed9e3e38a485b9990a8e65ba59d6906a.tar.bz2 rneovim-b63d2626ed9e3e38a485b9990a8e65ba59d6906a.zip |
Implement vim_str(n)save using xstrdup and strncpy/xmalloc
-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, |