From 1f3165bc34c6c608584a73f13faec27dd7c7e2fa Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 4 Sep 2019 13:21:26 +0200 Subject: 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(). --- src/evalfunc.c | 18 +++++++----------- src/version.c | 2 ++ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/evalfunc.c b/src/evalfunc.c index 6b75addd0..bf4bb8eb9 100644 --- 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; } diff --git a/src/version.c b/src/version.c index c9860acec..3f92271dd 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1974, /**/ 1973, /**/ -- cgit v1.2.1