mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +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:
@@ -1678,7 +1678,7 @@ void parse_cino(buf_T *buf)
|
||||
if (*p == '-')
|
||||
++p;
|
||||
char_u *digits_start = p; /* remember where the digits start */
|
||||
int n = getdigits_int(&p);
|
||||
int n = getdigits_int(&p, true, 0);
|
||||
divider = 0;
|
||||
if (*p == '.') { /* ".5s" means a fraction */
|
||||
fraction = atoi((char *)++p);
|
||||
@@ -1915,7 +1915,7 @@ int get_c_indent(void)
|
||||
else if (*p == COM_LEFT || *p == COM_RIGHT)
|
||||
align = *p++;
|
||||
else if (ascii_isdigit(*p) || *p == '-') {
|
||||
off = getdigits_int(&p);
|
||||
off = getdigits_int(&p, true, 0);
|
||||
}
|
||||
else
|
||||
++p;
|
||||
|
Reference in New Issue
Block a user