mirror of
https://github.com/neovim/neovim.git
synced 2025-09-12 22:38:16 +00:00
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
This commit is contained in:
@@ -2939,7 +2939,7 @@ void ex_lockvar(exarg_T *eap)
|
||||
if (eap->forceit)
|
||||
deep = -1;
|
||||
else if (ascii_isdigit(*arg)) {
|
||||
deep = getdigits_int(&arg);
|
||||
deep = getdigits_int(&arg, false, -1);
|
||||
arg = skipwhite(arg);
|
||||
}
|
||||
|
||||
@@ -15775,7 +15775,7 @@ static void f_setreg(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
yank_type = kMTBlockWise;
|
||||
if (ascii_isdigit(stropt[1])) {
|
||||
stropt++;
|
||||
block_len = getdigits_long((char_u **)&stropt) - 1;
|
||||
block_len = getdigits_long((char_u **)&stropt, true, 0) - 1;
|
||||
stropt--;
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user