1
0
forked from aniani/vim

updated for version 7.4.602

Problem:    ":set" does not accept hex numbers as documented.
Solution:   Use vim_str2nr(). (ZyX)
This commit is contained in:
Bram Moolenaar
2015-01-27 15:58:40 +01:00
parent 0a988df731
commit 18400e6430
3 changed files with 6 additions and 16 deletions

View File

@@ -4540,21 +4540,11 @@ do_set(arg, opt_flags)
goto skip;
}
}
/* allow negative numbers (for 'undolevels') */
else if (*arg == '-' || VIM_ISDIGIT(*arg))
{
i = 0;
if (*arg == '-')
i = 1;
#ifdef HAVE_STRTOL
value = strtol((char *)arg, NULL, 0);
if (arg[i] == '0' && TOLOWER_ASC(arg[i + 1]) == 'x')
i += 2;
#else
value = atol((char *)arg);
#endif
while (VIM_ISDIGIT(arg[i]))
++i;
/* Allow negative (for 'undolevels'), octal and
* hex numbers. */
vim_str2nr(arg, NULL, &i, TRUE, TRUE, &value, NULL);
if (arg[i] != NUL && !vim_iswhite(arg[i]))
{
errmsg = e_invarg;