diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/eval.c | 2 | ||||
| -rw-r--r-- | src/nvim/eval/typval.c | 12 | ||||
| -rw-r--r-- | src/nvim/ex_docmd.c | 2 | 
3 files changed, 8 insertions, 8 deletions
| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 7c3754607e..d5624f354a 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -21783,7 +21783,7 @@ void ex_oldfiles(exarg_T *eap)        nr = prompt_for_number(false);        msg_starthere();        if (nr > 0 && nr <= l->lv_len) { -        const char *const p = tv_list_find_str(l, nr); +        const char *const p = tv_list_find_str(l, nr - 1);          if (p == NULL) {            return;          } diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c index b0b95e955f..ef64467ee5 100644 --- a/src/nvim/eval/typval.c +++ b/src/nvim/eval/typval.c @@ -731,7 +731,7 @@ listitem_T *tv_list_find(list_T *const l, int n)  ///                         `*ret_error` is not touched.  ///  /// @return Integer value at the given index or -1. -varnumber_T tv_list_find_nr(list_T *const l, const int n, bool *ret_error) +varnumber_T tv_list_find_nr(list_T *const l, const int n, bool *const ret_error)    FUNC_ATTR_WARN_UNUSED_RESULT  {    const listitem_T *const li = tv_list_find(l, n); @@ -744,16 +744,16 @@ varnumber_T tv_list_find_nr(list_T *const l, const int n, bool *ret_error)    return tv_get_number_chk(&li->li_tv, ret_error);  } -/// Get list item l[n - 1] as a string +/// Get list item l[n] as a string  ///  /// @param[in]  l  List to index.  /// @param[in]  n  Index in a list.  /// -/// @return [allocated] Copy of the list item string value. -const char *tv_list_find_str(list_T *l, int n) -  FUNC_ATTR_MALLOC +/// @return List item string value or NULL in case of error. +const char *tv_list_find_str(list_T *const l, const int n) +  FUNC_ATTR_WARN_UNUSED_RESULT  { -  const listitem_T *const li = tv_list_find(l, n - 1); +  const listitem_T *const li = tv_list_find(l, n);    if (li == NULL) {      EMSGN(_(e_listidx), n);      return NULL; diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 73b81ac2d9..26cfec991f 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -8424,7 +8424,7 @@ eval_vars (            return NULL;          }          result = (char_u *)tv_list_find_str(get_vim_var_list(VV_OLDFILES), -                                            (long)i); +                                            i - 1);          if (result == NULL) {            *errormsg = (char_u *)"";            return NULL; | 
