From cec47d40825fbc95f9527c098fca806976e57d39 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sun, 13 Oct 1996 22:56:46 +0000 Subject: Introduce a notion of numeric token. svn path=/trunk/; revision=327 --- rcfile_l.l | 2 ++ rcfile_y.y | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/rcfile_l.l b/rcfile_l.l index a6bb0cfb..9ae0fcfa 100644 --- a/rcfile_l.l +++ b/rcfile_l.l @@ -67,6 +67,8 @@ options {/* EMPTY */} (#.*)?\\?\n { prc_lineno++; } /* newline is ignored */ +[0-9]+ { yylval.number = atoi(yytext); return NUMBER; } + \"[^\"]*\" { yytext[strlen(yytext)-1] = '\0'; yylval.sval = (char *) strdup(yytext+1); diff --git a/rcfile_y.y b/rcfile_y.y index 105570e1..b0c5df13 100644 --- a/rcfile_y.y +++ b/rcfile_y.y @@ -32,6 +32,7 @@ static int prc_errflag; %union { int proto; int flag; + int number; char *sval; } @@ -39,6 +40,7 @@ static int prc_errflag; %token USERNAME PASSWORD FOLDER SMTPHOST MDA IS HERE THERE %token PROTO %token STRING +%token NUMBER %token KEEP FLUSH FETCHALL REWRITE PORT SKIP /* these are actually used by the lexer */ @@ -74,11 +76,11 @@ serv_option : PROTOCOL PROTO {current.protocol = $2;} current.authenticate = A_KERBEROS; current.port = KPOP_PORT; } - | PORT STRING {current.port = atoi($2);} + | PORT NUMBER {current.port = $2;} | SKIP {current.skip = ($1==FLAG_TRUE);} | AUTHENTICATE PASSWORD {current.authenticate = A_PASSWORD;} | AUTHENTICATE KERBEROS {current.authenticate = A_KERBEROS;} - | TIMEOUT STRING {current.timeout = atoi($2);} + | TIMEOUT NUMBER {current.timeout = $2;} ; /* the first and only the first user spec may omit the USERNAME part */ -- cgit v1.2.3