]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Allow accessing defined symbols.
authorPavel Machek <pavel@ucw.cz>
Mon, 15 May 2000 12:19:26 +0000 (12:19 +0000)
committerPavel Machek <pavel@ucw.cz>
Mon, 15 May 2000 12:19:26 +0000 (12:19 +0000)
filter/config.Y
filter/test.conf

index 9aa827e5c659ea44a3a6db028bd5896e322e9e04..0d1d716fbb386a6c9ad8f96aa3166b09696e6af5 100644 (file)
@@ -348,6 +348,15 @@ term:
  | SYM {
      $$ = f_new_inst();
      switch ($1->class) {
+       case SYM_NUMBER:
+       $$ = f_new_inst();
+       $$->code = 'c'; 
+       $$->aux = T_INT; 
+       $$->a2.i = $1->aux;
+       break;
+       case SYM_IPA:
+       { NEW_F_VAL; $$ = f_new_inst(); $$->code = 'C'; $$->a1.p = val; val->type = T_IP; val->val.px.ip = * (ip_addr *) ($1->def); }
+       break;
        case SYM_VARIABLE | T_INT:
        case SYM_VARIABLE | T_PAIR:
        case SYM_VARIABLE | T_PREFIX:
index 37cff13ee2c79df966bc79669596638580077cc8..d734d57ce55f10f8cf852ab90266d6f628cdab4e 100644 (file)
@@ -65,13 +65,16 @@ function bla()
        return 15;
 }
 
+define four=4;
+define onetwo=1.2.3.4;
+
 function __startup() 
 int i;
 prefix px;
 ip p;
 { 
        print "Testing filter language:";
-       i = 4
+       i = four
        i = 1230 + i; 
        i = ( i + 0 );
        print "  arithmetics: 1234 = ", i;
@@ -111,6 +114,8 @@ ip p;
 
        paths();
 
+       print "1.2.3.4 = ", onetwo;
+
        print "done";
        quitbird;
 #      print "*** FAIL: this is unreachable";