# HG changeset patch # User Bram Moolenaar # Date 1550859312 -3600 # Node ID 8013b532a1f7d1c5ff433f6b2255c59afceb33fa # Parent d44981435a1ab026c6211c958058ce8a0a474a6a patch 8.1.0975: using STRNCPY() wrongly. Warning for uninitialized variable commit https://github.com/vim/vim/commit/c666388367282c3c7d1d7af24883cfa0d40b046e Author: Bram Moolenaar Date: Fri Feb 22 19:14:54 2019 +0100 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 --- a/src/screen.c +++ b/src/screen.c @@ -2547,10 +2547,10 @@ text_to_screenline(win_T *wp, char_u *te { #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 @@ win_line( { 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 --- 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 @@ f_prop_add(typval_T *argvars, typval_T * 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 --- a/src/version.c +++ b/src/version.c @@ -780,6 +780,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 975, +/**/ 974, /**/ 973,