Mercurial > vim
changeset 6581:05202d6ba0ef v7.4.617
updated for version 7.4.617
Problem: Wrong ":argdo" range does not cause an error.
Solution: Reset "cmd" to NULL. (Marcin Szamotulski, Ingo Karkat)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 03 Feb 2015 19:10:53 +0100 |
parents | bdd980d5d13f |
children | caeb08965286 |
files | src/ex_docmd.c src/version.c |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -4405,6 +4405,7 @@ get_address(ptr, addr_type, skip, to_oth 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_oth 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_oth 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_oth 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: