return T_ASSIGN;
}
+"+=" {
+ // Read everything after this
+ yy_push_state(READLINE);
+
+ return T_APPEND;
+ }
+
(.|\n) {
// Unexpected character
fprintf(stderr, "Unexpected character: %s\n", yytext);
static int test_parser_assign(const struct test* t) {
PakfireParser parser = pakfire_parser_create(t->pakfire, NULL, NULL);
- static const char* INPUT = "a = 1\nb = 2\nc = %{a}%{b}\n";
+ static const char* INPUT = "a = 1\nb = 2\nc = %{a}%{b}\nd = A\nd += BC\n";
int r = pakfire_parser_parse(parser, INPUT, strlen(INPUT));
ASSERT(r == 0);
printf("%s\n", s);
free(s);
+ char* value = pakfire_parser_get(parser, "d");
+ ASSERT_STRING_EQUALS(value, "ABC");
+
pakfire_parser_unref(parser);
return EXIT_SUCCESS;