=================================================================== RCS file: /cvs/cvs/blind/parse.y,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -r1.17 -r1.18 --- blind/parse.y 2022/04/10 21:04:06 1.17 +++ blind/parse.y 2022/04/10 21:20:24 1.18 @@ -25,11 +25,9 @@ #include "config.h" #include "log.h" -#define START_EXPAND 1 -#define DONE_EXPAND 2 +#define EXPAND_ON 1 +#define EXPAND_OFF 2 -static struct file *f; - int lookup(char *); int igetc(void); int lgetc(int); @@ -42,29 +40,29 @@ int yyerror(const char *, ...) __attribute__((__format__ (printf, 1, 2))) __attribute__((__nonnull__ (1))); +char *symget(const char *); + int config_load(struct blind *); -struct file *config_push(const char *); int config_close(void); -static int expanding; -static int errors = 0; -struct blind *env = NULL; +static int expanding; +static int errors = 0; +struct blind *env = NULL; +static struct file *f = NULL; -TAILQ_HEAD(symhead, sym) symhead = TAILQ_HEAD_INITIALIZER(symhead); +TAILQ_HEAD(symhead, sym) symhead = TAILQ_HEAD_INITIALIZER(symhead); struct sym { - TAILQ_ENTRY(sym) entry; - int used; - int persist; - char *nam; - char *val; + TAILQ_ENTRY(sym) entry; + int used; + int persist; + char *nam; + char *val; }; -char *symget(const char *); - typedef struct { union { - int64_t number; - char *string; + int64_t number; + char *string; } v; int lineno; } YYSTYPE; @@ -79,26 +77,26 @@ typedef struct { grammar : | grammar '\n' - | grammar set '\n' - | grammar error '\n' { errors++; } - ; + | grammar set '\n' + | grammar error '\n' { errors++; } + ; set : SET EXPIRE NUMBER { - env->bl_ttl = $3; + env->bl_ttl = $3; } | SET ACTION ENABLE { - env->bl_opt |= BL_OPT_ACTION; + env->bl_opt |= BL_OPT_ACTION; } | SET ACTION DISABLE { - env->bl_opt |= !BL_OPT_ACTION; + env->bl_opt |= !BL_OPT_ACTION; } ; %% struct keywords { - const char *k_name; - int k_val; + const char *k_name; + int k_val; }; int @@ -112,7 +110,7 @@ yyerror(const char *fmt, ...) if (vasprintf(&msg, fmt, ap) == -1) log_fatal("yyerror vasprintf"); va_end(ap); - log_info("%s:%d: %s", f->name, yylval.lineno, msg); + log_info("%s:%d: %s", f->name, yylval.lineno, msg); free(msg); return (0); } @@ -170,9 +168,9 @@ igetc(void) else c = getc(f->stream); - if (c == START_EXPAND) + if (c == EXPAND_ON) expanding = 1; - else if (c == DONE_EXPAND) + else if (c == EXPAND_OFF) expanding = 0; else break; @@ -299,12 +297,12 @@ top: return (findeol()); } p = val + strlen(val) - 1; - lungetc(DONE_EXPAND); + lungetc(EXPAND_OFF); while (p >= val) { lungetc((unsigned char)*p); p--; } - lungetc(START_EXPAND); + lungetc(EXPAND_ON); goto top; }