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().
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 6b75add..bf4bb8e 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1152,20 +1152,16 @@
     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() */
+    if (lnum == 0)  // no valid number, try using arg like 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;
+	int	fnum;
+	pos_T	*fp = var2fpos(&argvars[0], TRUE, &fnum);
+
+	if (fp != NULL)
+	    lnum = fp->lnum;
     }
     return lnum;
 }
diff --git a/src/version.c b/src/version.c
index c9860ac..3f92271 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1974,
+/**/
     1973,
 /**/
     1972,