summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2000-05-25 16:58:38 +0200
committerPavel Machek <pavel@ucw.cz>2000-05-25 16:58:38 +0200
commit9a09a64bb4160a5bb79cdf91bd95b7f77966f62e (patch)
tree7a5341aa9261056a4ab8061c16897efc24732025
parentba1dda495ad29cd86260533828ce38c7d327f045 (diff)
downloadbird-9a09a64bb4160a5bb79cdf91bd95b7f77966f62e.tar
bird-9a09a64bb4160a5bb79cdf91bd95b7f77966f62e.zip
Use ? in path matching to avoid /* trap.
-rw-r--r--conf/cf-lex.l2
-rw-r--r--filter/config.Y2
-rw-r--r--filter/test.conf4
3 files changed, 4 insertions, 4 deletions
diff --git a/conf/cf-lex.l b/conf/cf-lex.l
index bdf9261..188d536 100644
--- a/conf/cf-lex.l
+++ b/conf/cf-lex.l
@@ -139,7 +139,7 @@ WHITE [ \t]
return CLI_MARKER;
}
-[={}:;,()+*/%-<>~\[\]] {
+[={}:;,()+*/%-<>~\[\]?] {
return yytext[0];
}
diff --git a/filter/config.Y b/filter/config.Y
index 0bbc325..b81bd6c 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -277,7 +277,7 @@ switch_body: /* EMPTY */ { $$ = NULL; }
bgp_one:
NUM { $$ = $1; }
- | '*' { $$ = PM_ANY; }
+ | '?' { $$ = PM_ANY; }
;
bgp_path:
diff --git a/filter/test.conf b/filter/test.conf
index c7fe415..7e67464 100644
--- a/filter/test.conf
+++ b/filter/test.conf
@@ -45,8 +45,8 @@ clist l;
print "4 = ", p2.len;
p2 = prepend( p2, 5 );
print "Should be false: ", p2 ~ p;
- print "Should be true: ", p2 ~ / * 4 3 2 1 /, p2, / * 4 3 2 1 /;
- print "Should be true: ", p2 ~ / * 4 3 * 1 /, p2, / * 4 3 * 1 /;
+ print "Should be true: ", p2 ~ / ? 4 3 2 1 /, p2, / ? 4 3 2 1 /;
+ print "Should be true: ", p2 ~ / ? 4 3 ? 1 /, p2, / ? 4 3 ? 1 /;
print "5 = ", p2.len;
l = - empty -;