]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.1.1974: Coverity warns for using pointer as array v8.1.1974
authorBram Moolenaar <Bram@vim.org>
Wed, 4 Sep 2019 11:21:26 +0000 (13:21 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 4 Sep 2019 11:21:26 +0000 (13:21 +0200)
Problem:    Coverity warns for using pointer as array.
Solution:   Call var2fpos() directly instead of using f_line().

src/evalfunc.c
src/version.c

index 6b75addd04be429b6d551e70b0a137421a3bf13d..bf4bb8eb9bc4c40cbb665fb0785447f01d4edb2f 100644 (file)
@@ -1152,20 +1152,16 @@ non_zero_arg(typval_T *argvars)
     linenr_T
 tv_get_lnum(typval_T *argvars)
 {
-    typval_T   rettv;
     linenr_T   lnum;
-    int                save_type;
 
     lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL);
-    if (lnum == 0)  /* no valid number, try using line() */
-    {
-       rettv.v_type = VAR_NUMBER;
-       save_type = argvars[1].v_type;
-       argvars[1].v_type = VAR_UNKNOWN;
-       f_line(argvars, &rettv);
-       lnum = (linenr_T)rettv.vval.v_number;
-       clear_tv(&rettv);
-       argvars[1].v_type = save_type;
+    if (lnum == 0)  // no valid number, try using arg like line()
+    {
+       int     fnum;
+       pos_T   *fp = var2fpos(&argvars[0], TRUE, &fnum);
+
+       if (fp != NULL)
+           lnum = fp->lnum;
     }
     return lnum;
 }
index c9860acecefcc5d68e3965523194bd3d62aa89e5..3f92271dd303b8b134617a47152959bb670bee1a 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1974,
 /**/
     1973,
 /**/