mirror of
https://github.com/neovim/neovim.git
synced 2025-09-16 16:28:17 +00:00
refactor: change some xstrndup() and xstrnsave() to xmemdupz() (#25959)
When the given length is exactly the number of bytes to copy, xmemdupz() makes the intention clearer.
This commit is contained in:
@@ -1633,7 +1633,7 @@ char *get_lval(char *const name, typval_T *const rettv, lval_T *const lp, const
|
||||
if (len == -1) {
|
||||
lp->ll_newkey = xstrdup(key);
|
||||
} else {
|
||||
lp->ll_newkey = xstrnsave(key, (size_t)len);
|
||||
lp->ll_newkey = xmemdupz(key, (size_t)len);
|
||||
}
|
||||
tv_clear(&var1);
|
||||
break;
|
||||
@@ -1966,7 +1966,7 @@ bool next_for_item(void *fi_void, char *arg)
|
||||
typval_T tv;
|
||||
tv.v_type = VAR_STRING;
|
||||
tv.v_lock = VAR_FIXED;
|
||||
tv.vval.v_string = xstrnsave(fi->fi_string + fi->fi_byte_idx, (size_t)len);
|
||||
tv.vval.v_string = xmemdupz(fi->fi_string + fi->fi_byte_idx, (size_t)len);
|
||||
fi->fi_byte_idx += len;
|
||||
const int result
|
||||
= ex_let_vars(arg, &tv, true, fi->fi_semicolon, fi->fi_varcount, false, NULL) == OK;
|
||||
@@ -4893,7 +4893,7 @@ static int get_literal_key(char **arg, typval_T *tv)
|
||||
}
|
||||
for (p = *arg; ASCII_ISALNUM(*p) || *p == '_' || *p == '-'; p++) {}
|
||||
tv->v_type = VAR_STRING;
|
||||
tv->vval.v_string = xstrnsave(*arg, (size_t)(p - *arg));
|
||||
tv->vval.v_string = xmemdupz(*arg, (size_t)(p - *arg));
|
||||
|
||||
*arg = skipwhite(p);
|
||||
return OK;
|
||||
@@ -5242,7 +5242,7 @@ static void filter_map_string(const char *str, filtermap_T filtermap, typval_T *
|
||||
typval_T tv = {
|
||||
.v_type = VAR_STRING,
|
||||
.v_lock = VAR_UNLOCKED,
|
||||
.vval.v_string = xstrnsave(p, (size_t)len),
|
||||
.vval.v_string = xmemdupz(p, (size_t)len),
|
||||
};
|
||||
|
||||
vimvars[VV_KEY].vv_nr = idx;
|
||||
@@ -7483,7 +7483,7 @@ char *char_from_string(const char *str, varnumber_T index)
|
||||
if (nbyte >= slen) {
|
||||
return NULL;
|
||||
}
|
||||
return xstrnsave(str + nbyte, (size_t)utf_ptr2len(str + nbyte));
|
||||
return xmemdupz(str + nbyte, (size_t)utf_ptr2len(str + nbyte));
|
||||
}
|
||||
|
||||
/// Get the byte index for character index "idx" in string "str" with length
|
||||
@@ -7544,7 +7544,7 @@ char *string_slice(const char *str, varnumber_T first, varnumber_T last, bool ex
|
||||
if (start_byte >= (ssize_t)slen || end_byte <= start_byte) {
|
||||
return NULL;
|
||||
}
|
||||
return xstrnsave(str + start_byte, (size_t)(end_byte - start_byte));
|
||||
return xmemdupz(str + start_byte, (size_t)(end_byte - start_byte));
|
||||
}
|
||||
|
||||
/// Handle:
|
||||
@@ -8586,13 +8586,13 @@ repeat:
|
||||
// find end of pattern
|
||||
p = vim_strchr(s, sep);
|
||||
if (p != NULL) {
|
||||
char *const pat = xstrnsave(s, (size_t)(p - s));
|
||||
char *const pat = xmemdupz(s, (size_t)(p - s));
|
||||
s = p + 1;
|
||||
// find end of substitution
|
||||
p = vim_strchr(s, sep);
|
||||
if (p != NULL) {
|
||||
char *const sub = xstrnsave(s, (size_t)(p - s));
|
||||
char *const str = xstrnsave(*fnamep, *fnamelen);
|
||||
char *const sub = xmemdupz(s, (size_t)(p - s));
|
||||
char *const str = xmemdupz(*fnamep, *fnamelen);
|
||||
*usedlen = (size_t)(p + 1 - src);
|
||||
s = do_string_sub(str, pat, sub, NULL, flags);
|
||||
*fnamep = s;
|
||||
|
Reference in New Issue
Block a user