diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-09-13 18:15:09 -0700 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-09-13 19:29:25 -0700 |
commit | 3344cffe7bf77c984550c01f9405f4d757150d8a (patch) | |
tree | e60810ef33fdd5f3f43f06d5ebc503d0e0594bd3 /src/nvim/ex_cmds.c | |
parent | 0a24a2c314a507108be754a0a2d2ed1a16ec523f (diff) | |
download | rneovim-3344cffe7bf77c984550c01f9405f4d757150d8a.tar.gz rneovim-3344cffe7bf77c984550c01f9405f4d757150d8a.tar.bz2 rneovim-3344cffe7bf77c984550c01f9405f4d757150d8a.zip |
getdigits: introduce `strict`, `def` parameters
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow. But this is often wrong, because many
of these codepaths are handling user input.
Solution:
Decide at each call-site whether to use "strict" mode.
fix #5555
Diffstat (limited to 'src/nvim/ex_cmds.c')
-rw-r--r-- | src/nvim/ex_cmds.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index c3e1e69a63..16487ce447 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -707,7 +707,7 @@ void ex_retab(exarg_T *eap) save_list = curwin->w_p_list; curwin->w_p_list = 0; /* don't want list mode here */ - new_ts = getdigits_int(&(eap->arg)); + new_ts = getdigits_int(&(eap->arg), false, -1); if (new_ts < 0) { EMSG(_(e_positive)); return; @@ -3357,7 +3357,7 @@ static buf_T *do_sub(exarg_T *eap, proftime_T timeout, // check for a trailing count cmd = skipwhite(cmd); if (ascii_isdigit(*cmd)) { - i = getdigits_long(&cmd); + i = getdigits_long(&cmd, true, 0); if (i <= 0 && !eap->skip && subflags.do_error) { EMSG(_(e_zerocount)); return NULL; |