diff options
Diffstat (limited to 'conf/confbase.Y')
-rw-r--r-- | conf/confbase.Y | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y index 6985783b..99349c4e 100644 --- a/conf/confbase.Y +++ b/conf/confbase.Y @@ -92,7 +92,7 @@ CF_DECLS struct channel_limit cl; struct timeformat *tf; mpls_label_stack *mls; - struct bytestring *bs; + const struct bytestring *bs; } %token END CLI_MARKER INVALID_TOKEN ELSECOL DDOT @@ -115,6 +115,7 @@ CF_DECLS %type <mls> label_stack_start label_stack %type <t> text opttext +%type <bs> bytestring %type <s> symbol %nonassoc PREFIX_DUMMY @@ -383,6 +384,14 @@ opttext: | /* empty */ { $$ = NULL; } ; +bytestring: + BYTESTRING + | CF_SYM_KNOWN { + if ($1->class != (SYM_CONSTANT | T_BYTESTRING)) cf_error("Bytestring constant expected"); + $$ = SYM_VAL($1).bs; + } + ; + CF_CODE |