mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Implement vim_str(n)save using xstrdup and strncpy/xmalloc
This commit is contained in:
parent
32d018b57e
commit
b63d2626ed
@ -46,14 +46,7 @@
|
|||||||
*/
|
*/
|
||||||
char_u *vim_strsave(char_u *string)
|
char_u *vim_strsave(char_u *string)
|
||||||
{
|
{
|
||||||
char_u *p;
|
return (char_u *)xstrdup((char *)string);
|
||||||
unsigned len;
|
|
||||||
|
|
||||||
len = (unsigned)STRLEN(string) + 1;
|
|
||||||
p = alloc(len);
|
|
||||||
if (p != NULL)
|
|
||||||
memmove(p, string, (size_t)len);
|
|
||||||
return p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -64,12 +57,7 @@ char_u *vim_strsave(char_u *string)
|
|||||||
*/
|
*/
|
||||||
char_u *vim_strnsave(char_u *string, int len)
|
char_u *vim_strnsave(char_u *string, int len)
|
||||||
{
|
{
|
||||||
char_u *p;
|
return (char_u *)strncpy(xmallocz(len), (char *)string, len);
|
||||||
|
|
||||||
p = alloc((unsigned)(len + 1));
|
|
||||||
STRNCPY(p, string, len);
|
|
||||||
p[len] = NUL;
|
|
||||||
return p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
#ifndef NVIM_STRINGS_H
|
#ifndef NVIM_STRINGS_H
|
||||||
#define 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(char_u *string, char_u *esc_chars);
|
||||||
char_u *vim_strsave_escaped_ext(char_u *string, char_u *esc_chars,
|
char_u *vim_strsave_escaped_ext(char_u *string, char_u *esc_chars,
|
||||||
int cc,
|
int cc,
|
||||||
|
Loading…
Reference in New Issue
Block a user