diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-03-13 13:33:07 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-04-03 13:22:14 +0200 |
| commit | 9c769add824b090c7c5073e945aee0df2a109a91 (patch) | |
| tree | 0d665b1832d5e3b6583b0fb85948e0fe6afd7f26 /sam.c | |
| parent | c3b6da47d52b95527c09b8499f4144ea2bfc394a (diff) | |
| download | vis-9c769add824b090c7c5073e945aee0df2a109a91.tar.gz vis-9c769add824b090c7c5073e945aee0df2a109a91.tar.xz | |
sam: fix parsing of , compound address
In a command like ,x/pattern the comma should default to the whole file.
Diffstat (limited to 'sam.c')
| -rw-r--r-- | sam.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -315,8 +315,6 @@ static Address *address_parse_simple(Vis *vis, const char **s, enum SamError *er static Address *address_parse_compound(Vis *vis, const char **s, enum SamError *err) { Address addr = { 0 }, *left = address_parse_simple(vis, s, err), *right = NULL; - if (!left) - return NULL; skip_spaces(s); addr.type = **s; switch (addr.type) { @@ -324,9 +322,8 @@ static Address *address_parse_compound(Vis *vis, const char **s, enum SamError * case ';': /* a1;a2 */ (*s)++; right = address_parse_compound(vis, s, err); - if (!right || ((right->type == ',' || right->type == ';') && !right->left)) { - if (right) - *err = SAM_ERR_ADDRESS; + if (right && (right->type == ',' || right->type == ';') && !right->left) { + *err = SAM_ERR_ADDRESS; goto fail; } break; |
