Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
enum flags {
PAKFIRE_PARSER_DECLARATION_NONE = 0,
PAKFIRE_PARSER_DECLARATION_EXPORT = (1 << 0),
+ PAKFIRE_PARSER_DECLARATION_APPEND = (1 << 1),
} flags;
};
int pakfire_parser_apply_declaration(PakfireParser parser,
struct pakfire_parser_declaration* declaration) {
+ if (declaration->flags & PAKFIRE_PARSER_DECLARATION_APPEND)
+ return pakfire_parser_append(parser, declaration->name, declaration->value);
+
return pakfire_parser_set(parser, declaration->name, declaration->value);
}
}
| key T_APPEND value T_EOL
{
- // XXX HANDLE APPEND PROPERLY
- int r = pakfire_parser_new_declaration(&$$, $1, $3, 0);
+ int r = pakfire_parser_new_declaration(&$$, $1, $3,
+ PAKFIRE_PARSER_DECLARATION_APPEND);
if (r)
ABORT;
}