REJECT is a reserved word in flex and REJECT is also used as %token in bison grammar. Rename REJECT to Reject in bison grammar to avoid name conflict. Same thing for ECHO but that does not seem to cause any conflicts ATM so leave as is. Also delete some dead code in flex output by using the apropiate %option statements. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> --- conf/cf-lex.l | 5 +++-- filter/config.Y | 4 ++-- proto/static/config.Y | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/conf/cf-lex.l b/conf/cf-lex.l index 3fe3c2e..6612d3c 100644 --- a/conf/cf-lex.l +++ b/conf/cf-lex.l @@ -25,7 +25,6 @@ */ %{ -#undef REJECT /* Avoid name clashes */ #include <errno.h> #include <stdlib.h> @@ -71,12 +70,14 @@ linpool *cfg_mem; int (*cf_read_hook)(byte *buf, unsigned int max); #define YY_INPUT(buf,result,max) result = cf_read_hook(buf, max); -#define YY_NO_UNPUT + #define YY_FATAL_ERROR(msg) cf_error(msg) %} %option noyywrap +%option nounput +%option noinput %x COMMENT CCOMM CLI diff --git a/filter/config.Y b/filter/config.Y index 7723658..cab5dbe 100644 --- a/filter/config.Y +++ b/filter/config.Y @@ -28,7 +28,7 @@ static int make_pair(int i1, int i2) CF_DECLS CF_KEYWORDS(FUNCTION, PRINT, PRINTN, UNSET, RETURN, - ACCEPT, REJECT, ERROR, QUITBIRD, + ACCEPT, Reject, ERROR, QUITBIRD, INT, BOOL, IP, PREFIX, PAIR, QUAD, SET, STRING, BGPMASK, BGPPATH, CLIST, IF, THEN, ELSE, CASE, TRUE, FALSE, @@ -506,7 +506,7 @@ term: break_command: QUITBIRD { $$ = F_QUITBIRD; } | ACCEPT { $$ = F_ACCEPT; } - | REJECT { $$ = F_REJECT; } + | Reject { $$ = F_REJECT; } | ERROR { $$ = F_ERROR; } | PRINT { $$ = F_NOP; } | PRINTN { $$ = F_NONL; } diff --git a/proto/static/config.Y b/proto/static/config.Y index a7e5016..20f07ed 100644 --- a/proto/static/config.Y +++ b/proto/static/config.Y @@ -16,7 +16,7 @@ static struct static_route *this_srt; CF_DECLS -CF_KEYWORDS(STATIC, ROUTE, VIA, DROP, REJECT, PROHIBIT, PREFERENCE) +CF_KEYWORDS(STATIC, ROUTE, VIA, DROP, Reject, PROHIBIT, PREFERENCE) CF_GRAMMAR @@ -54,7 +54,7 @@ stat_route: add_tail(&((struct static_config *) this_proto)->iface_routes, &this_srt->n); } | stat_route0 DROP { this_srt->dest = RTD_BLACKHOLE; } - | stat_route0 REJECT { this_srt->dest = RTD_UNREACHABLE; } + | stat_route0 Reject { this_srt->dest = RTD_UNREACHABLE; } | stat_route0 PROHIBIT { this_srt->dest = RTD_PROHIBIT; } ; -- 1.6.4.4