From: Maria Matejka Date: Fri, 27 Oct 2023 16:30:37 +0000 (+0200) Subject: Merge commit '6b95353e' into thread-next X-Git-Tag: v3.0.0~377 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6d122e2450c219cc7a43f0d61d94810236a3a0d;p=thirdparty%2Fbird.git Merge commit '6b95353e' into thread-next --- d6d122e2450c219cc7a43f0d61d94810236a3a0d diff --cc conf/cf-lex.l index 6399fa66d,8dc0ac89a..179b66a49 --- a/conf/cf-lex.l +++ b/conf/cf-lex.l @@@ -767,10 -711,12 +770,13 @@@ cf_lex_init(int is_cli, struct config * for (const struct keyword *k = keyword_list; k->name; k++) { - struct symbol *sym = cf_new_symbol(global_root_scope, global_root_scope_pool, kwlp, k->name); - sym->class = SYM_KEYWORD; - sym->keyword = k; + struct symbol *s = cf_root_symbol(k->name, &global_root_scope); + s->class = SYM_KEYWORD; + s->keyword = k; } + - global_root_scope->readonly = 1; ++ global_root_scope.readonly = 1; ++ global_filter_scope.readonly = 1; } ifs_head = ifs = push_ifs(NULL); diff --cc conf/conf.h index 767544b87,8558fcbae..f7833d9e1 --- a/conf/conf.h +++ b/conf/conf.h @@@ -141,13 -137,13 +141,14 @@@ struct sym_scope HASH(struct symbol) hash; /* Local symbol hash */ uint slots; /* Variable slots */ - byte active; /* Currently entered */ - byte block; /* No independent stack frame */ byte soft_scopes; /* Number of soft scopes above */ + byte active:1; /* Currently entered */ + byte block:1; /* No independent stack frame */ + byte readonly:1; /* Do not add new symbols */ }; -extern struct sym_scope *global_root_scope; +void cf_enter_filters(void); +void cf_exit_filters(void); struct bytestring { size_t length;