summaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y6
1 files changed, 3 insertions, 3 deletions
diff --git a/parse.y b/parse.y
index da63620f4..54e0c6ab8 100644
--- a/parse.y
+++ b/parse.y
@@ -2443,8 +2443,7 @@ args : arg_value
{
/*%%%*/
NODE *n1;
- if (nd_type($4) == NODE_ARRAY &&
- (n1 = splat_array($1)) != 0) {
+ if ((nd_type($4) == NODE_ARRAY) && (n1 = splat_array($1)) != 0) {
$$ = list_concat(n1, $4);
}
else {
@@ -8131,7 +8130,8 @@ arg_concat_gen(struct parser_params *parser, NODE *node1, NODE *node2)
nd_set_type(node1, NODE_ARGSCAT);
return node1;
case NODE_ARGSCAT:
- if (nd_type(node2) != NODE_ARRAY) break;
+ if (nd_type(node2) != NODE_ARRAY ||
+ nd_type(node1->nd_body) != NODE_ARRAY) break;
node1->nd_body = list_concat(node1->nd_body, node2);
return node1;
}