patch 8.1.0643: computing byte offset wrong
Problem: Computing byte offset wrong. (Bjorn Linse)
Solution: Use the right variable for array index.
diff --git a/src/memline.c b/src/memline.c
index d79e7ce..6b4a766 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -5380,7 +5380,7 @@
// lengths.
len = 0;
for (i = start_idx; i <= idx; ++i)
- len += STRLEN((char_u *)dp + ((dp->db_index[idx]) & DB_INDEX_MASK)) + 1;
+ len += STRLEN((char_u *)dp + ((dp->db_index[i]) & DB_INDEX_MASK)) + 1;
}
else
#endif
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index ccf7d28..e63ce6b 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -229,11 +229,11 @@
func Test_prop_byteoff()
call prop_type_add('comment', {'highlight': 'Directory'})
new
- call setline(1, ['line1', 'line2', ''])
+ call setline(1, ['line1', 'second line', ''])
set ff=unix
- call assert_equal(13, line2byte(3))
+ call assert_equal(19, line2byte(3))
call prop_add(1, 1, {'end_col': 3, 'type': 'comment'})
- call assert_equal(13, line2byte(3))
+ call assert_equal(19, line2byte(3))
bwipe!
call prop_type_delete('comment')
diff --git a/src/version.c b/src/version.c
index dc11358..06f7a8a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 643,
+/**/
642,
/**/
641,