--- src/RtConfig/command.l.old 2006-06-08 16:16:26.000000000 +0100 +++ src/RtConfig/command.l 2009-03-16 15:31:47.000000000 +0000 @@ -57,6 +57,8 @@ %x USEFUL_LINE %x USELESS_LINE +INT [[:digit:]]+ +ASNO [Aa][Ss]{INT}(\.{INT}){0,1} DNAME [[:alnum:]_-]+ QUAD [0-9A-F]{1,4} IPV6 {QUAD}(:{QUAD}){7} @@ -205,8 +207,12 @@ } -[Aa][Ss][0-9]+ { - yylval.as = atoi(yytext+2); +{ASNO} { + const char *dot = strchr(yytext,'.'); + if (dot) + yylval.as = atoi(yytext+2)<<16 | atoi(dot+1); + else + yylval.as = atoi(yytext+2); LEXER_RETURN(TKN_ASNUM); }