{
$$ = merge_parsers($1, $2);
}
- | block_assignment;
+ | block_assignment {
+ if ($1)
+ $$ = $1;
+ else
+ $$ = new_parser(parser);
+ };
block_assignment : assignment
| block
| if_stmt
| empty
{
- $$ = new_parser(parser);
+ $$ = NULL;
};
assignment : variable T_ASSIGN value T_EOL
char* v1 = pakfire_parser_expand(parser, namespace, val1);
char* v2 = pakfire_parser_expand(parser, namespace, val2);
- PakfireParser result;
+ PakfireParser result = NULL;
switch (op) {
case OP_EQUALS:
if (result)
result = pakfire_parser_ref(result);
- else
- result = new_parser(parser);
return result;
}