diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-02-03 19:10:53 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-02-03 19:10:53 +0100 |
commit | c0a37b9db38e722b9e5ac3ac8b4c4af86bdf018c (patch) | |
tree | 5f252324002f767bc063bc2240fa66e350e4bc81 /src/ex_docmd.c | |
parent | f2c03d7301d35590a20cc43431950acc3a2f6036 (diff) | |
download | vim-git-c0a37b9db38e722b9e5ac3ac8b4c4af86bdf018c.tar.gz |
updated for version 7.4.617v7.4.617
Problem: Wrong ":argdo" range does not cause an error.
Solution: Reset "cmd" to NULL. (Marcin Szamotulski, Ingo Karkat)
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r-- | src/ex_docmd.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index a59bbd1bb..453d83e8d 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -4405,6 +4405,7 @@ get_address(ptr, addr_type, skip, to_other_file) if (addr_type != ADDR_LINES) { EMSG(_(e_invaddr)); + cmd = NULL; goto error; } if (skip) @@ -4436,6 +4437,7 @@ get_address(ptr, addr_type, skip, to_other_file) if (addr_type != ADDR_LINES) { EMSG(_(e_invaddr)); + cmd = NULL; goto error; } if (skip) /* skip "/pat/" */ @@ -4484,6 +4486,7 @@ get_address(ptr, addr_type, skip, to_other_file) if (addr_type != ADDR_LINES) { EMSG(_(e_invaddr)); + cmd = NULL; goto error; } if (*cmd == '&') @@ -4575,7 +4578,8 @@ get_address(ptr, addr_type, skip, to_other_file) n = getdigits(&cmd); if (addr_type == ADDR_LOADED_BUFFERS || addr_type == ADDR_BUFFERS) - lnum = compute_buffer_local_count(addr_type, lnum, (i == '-') ? -1 * n : n); + lnum = compute_buffer_local_count( + addr_type, lnum, (i == '-') ? -1 * n : n); else if (i == '-') lnum -= n; else @@ -4662,7 +4666,8 @@ invalid_range(eap) return (char_u *)_(e_invrange); break; case ADDR_ARGUMENTS: - if (eap->line2 > ARGCOUNT + (!ARGCOUNT)) // add 1 if ARCOUNT is 0 + /* add 1 if ARGCOUNT is 0 */ + if (eap->line2 > ARGCOUNT + (!ARGCOUNT)) return (char_u *)_(e_invrange); break; case ADDR_BUFFERS: |