patch 8.1.0975: using STRNCPY() wrongly. Warning for uninitialized variable
Problem: Using STRNCPY() wrongly. Warning for uninitialized variable.
Solution: Use mch_memmove(). Initialize variable. (Yasuhiro Matsumoto,
closes #3979)
diff --git a/src/screen.c b/src/screen.c
index 4973b51..aade363 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2547,10 +2547,10 @@
{
#ifdef FEAT_RIGHTLEFT
if (wp->w_p_rl)
- STRNCPY(current_ScreenLine, text, len);
+ mch_memmove(current_ScreenLine, text, len);
else
#endif
- STRNCPY(current_ScreenLine + col, text, len);
+ mch_memmove(current_ScreenLine + col, text, len);
col += len;
}
}
@@ -3396,7 +3396,7 @@
{
if (lnum == curwin->w_cursor.lnum)
getvcol(curwin, &(curwin->w_cursor),
- (colnr_T *)&fromcol, NULL, NULL);
+ (colnr_T *)&fromcol, NULL, NULL);
else
fromcol = 0;
if (lnum == curwin->w_cursor.lnum + search_match_lines)
diff --git a/src/textprop.c b/src/textprop.c
index 637ee7f..674faeb 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -17,6 +17,7 @@
* Text properties have a type, which can be used to specify highlighting.
*
* TODO:
+ * - When using 'cursorline' attributes should be merged. (#3912)
* - Adjust text property column and length when text is inserted/deleted.
* -> a :substitute with a multi-line match
* -> search for changed_bytes() from misc1.c
@@ -27,7 +28,10 @@
* the index, like DB_MARKED?
* - Also test line2byte() with many lines, so that ml_updatechunk() is taken
* into account.
- * - add mechanism to keep track of changed lines.
+ * - Add mechanism to keep track of changed lines, so that plugin can update
+ * text properties in these.
+ * - Perhaps have a window-local option to disable highlighting from text
+ * properties?
*/
#include "vim.h"
@@ -158,7 +162,7 @@
char_u *newtext;
int proplen;
size_t textlen;
- char_u *props;
+ char_u *props = NULL;
char_u *newprops;
textprop_T tmp_prop;
int i;
diff --git a/src/version.c b/src/version.c
index cd2554a..0980420 100644
--- a/src/version.c
+++ b/src/version.c
@@ -780,6 +780,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 975,
+/**/
974,
/**/
973,