changeset 17956:1f6d5f9ddeb0 v8.1.1974

patch 8.1.1974: Coverity warns for using pointer as array Commit: https://github.com/vim/vim/commit/1f3165bc34c6c608584a73f13faec27dd7c7e2fa Author: Bram Moolenaar <Bram@vim.org> Date: Wed Sep 4 13:21:26 2019 +0200 patch 8.1.1974: Coverity warns for using pointer as array Problem: Coverity warns for using pointer as array. Solution: Call var2fpos() directly instead of using f_line().
author Bram Moolenaar <Bram@vim.org>
date Wed, 04 Sep 2019 13:30:03 +0200
parents 22e0c3abe0cf
children ac4fc61b10d3
files src/evalfunc.c src/version.c
diffstat 2 files changed, 9 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -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;
 }
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1974,
+/**/
     1973,
 /**/
     1972,