aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-05-19 20:45:57 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-05-19 20:58:09 -0400
commit003cda23123e98824ccc8f7467cf6800a8e75961 (patch)
tree7aaad26ae8114b7ce91c28825d81aaa2497b90ef /src/nvim/ex_docmd.c
parent5fd605e1d1d90e805c36a51c8764fa298f84006c (diff)
downloadrneovim-003cda23123e98824ccc8f7467cf6800a8e75961.tar.gz
rneovim-003cda23123e98824ccc8f7467cf6800a8e75961.tar.bz2
rneovim-003cda23123e98824ccc8f7467cf6800a8e75961.zip
vim-patch:8.2.2871: unnessary VIM_ISDIGIT() calls, badly indented code
Problem: Unnessary VIM_ISDIGIT() calls, badly indented code. Solution: Call skipdigits() on the next character. Improve indenting. (Dominique Pellé, closes vim/vim#8227) https://github.com/vim/vim/commit/4781d6fd8670af415c3b78f00d70036af85bd286
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r--src/nvim/ex_docmd.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index c557bb2438..c93f9fe6f2 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -1772,7 +1772,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
// count, it's a buffer name.
///
if ((ea.argt & EX_COUNT) && ascii_isdigit(*ea.arg)
- && (!(ea.argt & EX_BUFNAME) || *(p = skipdigits(ea.arg)) == NUL
+ && (!(ea.argt & EX_BUFNAME) || *(p = skipdigits(ea.arg + 1)) == NUL
|| ascii_iswhite(*p))) {
n = getdigits_long(&ea.arg, false, -1);
ea.arg = skipwhite(ea.arg);
@@ -2790,15 +2790,18 @@ static struct cmdmod {
*/
int modifier_len(char_u *cmd)
{
- int i, j;
char_u *p = cmd;
- if (ascii_isdigit(*cmd))
- p = skipwhite(skipdigits(cmd));
- for (i = 0; i < (int)ARRAY_SIZE(cmdmods); ++i) {
- for (j = 0; p[j] != NUL; ++j)
- if (p[j] != cmdmods[i].name[j])
+ if (ascii_isdigit(*cmd)) {
+ p = skipwhite(skipdigits(cmd + 1));
+ }
+ for (int i = 0; i < (int)ARRAY_SIZE(cmdmods); i++) {
+ int j;
+ for (j = 0; p[j] != NUL; j++) {
+ if (p[j] != cmdmods[i].name[j]) {
break;
+ }
+ }
if (j >= cmdmods[i].minlen
&& !ASCII_ISALPHA(p[j])
&& (p == cmd || cmdmods[i].has_count)) {