X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=rcfile_y.y;h=b32a6b0cfa9143024eb3287edb280afc2a561986;hb=057d4d421c32c0458f7be320978d36b553a609cd;hp=fe3a59d1b0de39d859aab7951d4e90866d772b59;hpb=497ba428052f1437187778ceb2293c8eaba5893f;p=~andy%2Ffetchmail diff --git a/rcfile_y.y b/rcfile_y.y index fe3a59d1..b32a6b0c 100644 --- a/rcfile_y.y +++ b/rcfile_y.y @@ -66,7 +66,7 @@ extern char * yytext; %token USERNAME PASSWORD FOLDER SMTPHOST FETCHDOMAINS MDA BSMTP LMTP %token SMTPADDRESS SMTPNAME SPAMRESPONSE PRECONNECT POSTCONNECT LIMIT WARNINGS %token INTERFACE MONITOR PLUGIN PLUGOUT -%token IS HERE THERE TO MAP WILDCARD +%token IS HERE THERE TO MAP %token BATCHLIMIT FETCHLIMIT FETCHSIZELIMIT FASTUIDL EXPUNGE PROPERTIES %token SET LOGFILE DAEMON SYSLOG IDFILE PIDFILE INVISIBLE POSTMASTER BOUNCEMAIL %token SPAMBOUNCE SOFTBOUNCE SHOWDOTS @@ -262,16 +262,16 @@ user1opts : user_option | user1opts user_option ; -localnames : WILDCARD {current.wildcard = TRUE;} - | mapping_list {current.wildcard = FALSE;} - | mapping_list WILDCARD {current.wildcard = TRUE;} - ; - mapping_list : mapping | mapping_list mapping ; -mapping : STRING {save_str_pair(¤t.localnames, $1, NULL); free($1);} +mapping : STRING {if (0 == strcmp($1, "*")) { + current.wildcard = TRUE; + } else { + save_str_pair(¤t.localnames, $1, NULL); + } + free($1);} | STRING MAP STRING {save_str_pair(¤t.localnames, $1, $3); free($1); free($3);} ; @@ -301,10 +301,10 @@ num_list : NUMBER } ; -user_option : TO localnames HERE - | TO localnames - | IS localnames HERE - | IS localnames +user_option : TO mapping_list HERE + | TO mapping_list + | IS mapping_list HERE + | IS mapping_list | IS STRING THERE {current.remotename = $2;} | PASSWORD STRING {current.password = $2;}