summaryrefslogtreecommitdiff
path: root/conf/confbase.Y
diff options
context:
space:
mode:
Diffstat (limited to 'conf/confbase.Y')
-rw-r--r--conf/confbase.Y11
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