- static int got_eq = FALSE;
- static ParseTokenType got_val = 0;
- static char *id = NULL, *s = NULL;
- static int i;
- static gboolean b;
-
- if (id == NULL) {
- if (token->type == TOKEN_IDENTIFIER) {
- id = token->data.identifier;
- return;
- } else {
- yyerror("syntax error");
- }
- } else if (!got_eq) {
- if (token->type == TOKEN_EQUALS) {
- got_eq = TRUE;
- return;
- } else {
- yyerror("syntax error");
- }
- } else if (!got_val) {
- if (token->type == TOKEN_STRING) {
- s = token->data.string;
- got_val = token->type;
- return;
- } else if (token->type == TOKEN_BOOL) {
- b = token->data.bool;
- got_val = token->type;
- return;
- } else if (token->type == TOKEN_INTEGER) {
- i = token->data.integer;
- got_val = token->type;
- return;
- } else
+ if (funcs) {
+ if (funcs->afunc != NULL)
+ funcs->afunc(name, value);
+ else