aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mbyte.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-09-12 11:26:27 +0200
committerbfredl <bjorn.linse@gmail.com>2022-09-13 22:50:22 +0200
commit25e4af439f3b5620406776ca77417d897097a3e9 (patch)
tree989c4c155d4a6df07f75e04df75991c1a1063c10 /src/nvim/mbyte.c
parent738c204523e4da07468268ae89741f2c86887031 (diff)
downloadrneovim-25e4af439f3b5620406776ca77417d897097a3e9.tar.gz
rneovim-25e4af439f3b5620406776ca77417d897097a3e9.tar.bz2
rneovim-25e4af439f3b5620406776ca77417d897097a3e9.zip
fix(lua): make vim.str_utfindex and vim.str_byteindex handle NUL bytes
fixes #16290
Diffstat (limited to 'src/nvim/mbyte.c')
-rw-r--r--src/nvim/mbyte.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c
index 310ad05196..ac3fbe9acd 100644
--- a/src/nvim/mbyte.c
+++ b/src/nvim/mbyte.c
@@ -1457,7 +1457,7 @@ void mb_utflen(const char_u *s, size_t len, size_t *codepoints, size_t *codeunit
{
size_t count = 0, extra = 0;
size_t clen;
- for (size_t i = 0; i < len && s[i] != NUL; i += clen) {
+ for (size_t i = 0; i < len; i += clen) {
clen = (size_t)utf_ptr2len_len(s + i, (int)(len - i));
// NB: gets the byte value of invalid sequence bytes.
// we only care whether the char fits in the BMP or not
@@ -1479,7 +1479,7 @@ ssize_t mb_utf_index_to_bytes(const char_u *s, size_t len, size_t index, bool us
if (index == 0) {
return 0;
}
- for (i = 0; i < len && s[i] != NUL; i += clen) {
+ for (i = 0; i < len; i += clen) {
clen = (size_t)utf_ptr2len_len(s + i, (int)(len - i));
// NB: gets the byte value of invalid sequence bytes.
// we only care whether the char fits in the BMP or not