diff options
author | James <89495599+IAKOBVS@users.noreply.github.com> | 2023-10-10 21:03:55 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-10 22:03:55 +0800 |
commit | 468a3a14072a638865681dad88d3c3b31cf11e23 (patch) | |
tree | 62a9f1d7a91c1f1af60949062fe93dab35bc8ac0 /src/nvim/ops.c | |
parent | 9ff6f73f838a1f90d09922448c434033ba5e094e (diff) | |
download | rneovim-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.c | 10 |
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; |