aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
diff options
context:
space:
mode:
authorJames <89495599+IAKOBVS@users.noreply.github.com>2023-10-10 21:03:55 +0700
committerGitHub <noreply@github.com>2023-10-10 22:03:55 +0800
commit468a3a14072a638865681dad88d3c3b31cf11e23 (patch)
tree62a9f1d7a91c1f1af60949062fe93dab35bc8ac0 /src/nvim/ops.c
parent9ff6f73f838a1f90d09922448c434033ba5e094e (diff)
downloadrneovim-468a3a14072a638865681dad88d3c3b31cf11e23.tar.gz
rneovim-468a3a14072a638865681dad88d3c3b31cf11e23.tar.bz2
rneovim-468a3a14072a638865681dad88d3c3b31cf11e23.zip
refactor: use xstpcpy() instead of strcat() (#25572)
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r--src/nvim/ops.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index f4eaf3a320..cb8d1dabc0 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -983,10 +983,12 @@ static int stuff_yank(int regname, char *p)
yankreg_T *reg = get_yank_register(regname, YREG_YANK);
if (is_append_register(regname) && reg->y_array != NULL) {
char **pp = &(reg->y_array[reg->y_size - 1]);
- char *lp = xmalloc(strlen(*pp) + strlen(p) + 1);
- STRCPY(lp, *pp);
- // TODO(philix): use xstpcpy() in stuff_yank()
- STRCAT(lp, p);
+ const size_t ppl = strlen(*pp);
+ const size_t pl = strlen(p);
+ char *lp = xmalloc(ppl + pl + 1);
+ memcpy(lp, *pp, ppl);
+ memcpy(lp + ppl, p, pl);
+ *(lp + ppl + pl) = NUL;
xfree(p);
xfree(*pp);
*pp = lp;