]> Pileus Git - ~andy/fetchmail/blobdiff - rcfile_y.y
Fix typo repsonsible -> responsible.
[~andy/fetchmail] / rcfile_y.y
index 482494a15e6c0c0fc752b2179f086fc458f84eff..39bb7a99c217e83adde71af8e09cf1d277df1240 100644 (file)
@@ -66,6 +66,7 @@ extern char * yytext;
 %token SET LOGFILE DAEMON SYSLOG IDFILE PIDFILE INVISIBLE POSTMASTER BOUNCEMAIL
 %token SPAMBOUNCE SOFTBOUNCE SHOWDOTS
 %token BADHEADER ACCEPT REJECT_
+%token RETRIEVEERROR ABORT CONTINUE MARKSEEN
 %token <proto> PROTO AUTHTYPE
 %token <sval>  STRING
 %token <number> NUMBER
@@ -175,8 +176,8 @@ serv_option : AKA alias_list
                                            yyerror(GT_("SDPS not enabled."));
 #endif /* SDPS_ENABLE */
                                        }
-               | UIDL                  {current.server.uidl = FLAG_TRUE;}
-               | NO UIDL               {current.server.uidl  = FLAG_FALSE;}
+               | UIDL                  {/* EMPTY - removed in 7.0.0 */}
+               | NO UIDL               {/* EMPTY - removed in 7.0.0 */}
                | CHECKALIAS            {current.server.checkalias = FLAG_TRUE;}
                | NO CHECKALIAS         {current.server.checkalias  = FLAG_FALSE;}
                | SERVICE STRING        {
@@ -237,6 +238,9 @@ serv_option : AKA alias_list
                | NO TRACEPOLLS         {current.server.tracepolls = FLAG_FALSE;}
                | BADHEADER ACCEPT      {current.server.badheader = BHACCEPT;}
                | BADHEADER REJECT_     {current.server.badheader = BHREJECT;}
+               | RETRIEVEERROR ABORT   {current.server.retrieveerror = RE_ABORT;}
+               | RETRIEVEERROR CONTINUE {current.server.retrieveerror = RE_CONTINUE;}
+               | RETRIEVEERROR MARKSEEN {current.server.retrieveerror = RE_MARKSEEN;}
                ;
 
 userspecs      : user1opts             {record_current(); user_reset();}
@@ -499,7 +503,8 @@ int prc_parse_file (const char *pathname, const flag securecheck)
 
     yyparse();         /* parse entire file */
 
-    fclose(yyin);      /* not checking this should be safe, file mode was r */
+    if (yyin != stdin)
+       fclose(yyin);   /* not checking this should be safe, file mode was r */
 
     if (prc_errflag) 
        return(PS_SYNTAX);