From 9c769add824b090c7c5073e945aee0df2a109a91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sun, 13 Mar 2016 13:33:07 +0100 Subject: sam: fix parsing of , compound address In a command like ,x/pattern the comma should default to the whole file. --- sam.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sam.c b/sam.c index ff0bc25..99f619e 100644 --- a/sam.c +++ b/sam.c @@ -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; -- cgit v1.2.3