aboutsummaryrefslogtreecommitdiff
path: root/sam.c
diff options
context:
space:
mode:
Diffstat (limited to 'sam.c')
-rw-r--r--sam.c7
1 files 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;