diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-12-25 18:57:55 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-25 18:57:55 +0800 |
commit | ddc8dd187d1c4da451332faf545171f242aa6b7a (patch) | |
tree | da688d6ab0d57ec3fcb5f08d1ebe6286f2be534a | |
parent | a42df117861f0f0233dec89a0d2cc79144d4fa4e (diff) | |
download | rneovim-ddc8dd187d1c4da451332faf545171f242aa6b7a.tar.gz rneovim-ddc8dd187d1c4da451332faf545171f242aa6b7a.tar.bz2 rneovim-ddc8dd187d1c4da451332faf545171f242aa6b7a.zip |
refactor(drawline): reduce size of wlv.extra[] (#26733)
It's now only used for transchar_hex(), which only needs 11 bytes.
-rw-r--r-- | src/nvim/drawline.c | 6 | ||||
-rw-r--r-- | test/functional/api/extmark_spec.lua | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index 77d554d759..de607e912f 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -90,7 +90,7 @@ typedef struct { bool extra_for_extmark; ///< n_extra set for inline virtual text - char extra[57]; ///< sign, line number and 'fdc' must fit in here + char extra[11]; ///< must be as large as transchar_charbuf[] in charset.c hlf_T diff_hlf; ///< type of diff highlighting @@ -2329,9 +2329,7 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool number_onl mb_c = (uint8_t)(*wlv.p_extra); p = get_extra_buf((size_t)wlv.n_extra + 1); memset(p, ' ', (size_t)wlv.n_extra); - strncpy(p, // NOLINT(runtime/printf) - wlv.p_extra + 1, - (size_t)strlen(wlv.p_extra) - 1); + memcpy(p, wlv.p_extra + 1, strlen(wlv.p_extra) - 1); p[wlv.n_extra] = NUL; wlv.p_extra = p; } else { diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua index 9b8d8a3afc..06eb938927 100644 --- a/test/functional/api/extmark_spec.lua +++ b/test/functional/api/extmark_spec.lua @@ -1837,7 +1837,7 @@ describe('API/win_extmark', function() -- notifications from 2nd call { {id = 1000}, ns, marks[1], 1, 0 }, { {id = 1000}, ns, marks[2], 1, 2 }, - -- notifications from 3nd call + -- notifications from 3rd call { {id = 1000}, ns, marks[1], 1, 0 }, { {id = 1000}, ns, marks[2], 1, 2 }, { {id = 1000}, ns, marks[3], 1, 4 }, |