X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Finc.c;h=fce9cec2beee5f972afd86199736ecab8cd510ae;hp=a2ecb4406c987053ee428a4f600d702cf88ff0d9;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=0569d6d1631dc90d4f2f2df6bdd0599c7ecc7814 diff --git a/uip/inc.c b/uip/inc.c index a2ecb44..fce9cec 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -223,8 +223,8 @@ static FILE *in; */ char *map_name(char *); +static void inc_done(int) NORETURN; #ifdef POP -int done(int); static int pop_action(char *); static int pop_pack(char *); static int map_count(void); @@ -263,6 +263,8 @@ main (int argc, char **argv) struct hes_postoffice *po; #endif + done=inc_done; + /* absolutely the first thing we do is save our privileges, * and drop them if we can. */ @@ -543,7 +545,7 @@ main (int argc, char **argv) adios (NULL, "no mail to incorporate"); if ((cp = strdup(newmail)) == (char *)0) - adios (maildir, "error allocating memory to copy newmail"); + adios (NULL, "error allocating memory to copy newmail"); newmail = cp; } @@ -563,10 +565,15 @@ main (int argc, char **argv) if ((maildir_copy = strdup(maildir)) == (char *)0) adios (maildir, "error allocating memory to copy maildir"); - if (noisy) - create_folder(maildir, 0, done); - else - done (1); + if (!folder_exists(maildir)) { + /* If the folder doesn't exist, and we're given the -silent flag, + * just fail. + */ + if (noisy) + create_folder(maildir, 0, done); + else + done (1); + } if (chdir (maildir) == NOTOK) adios (maildir, "unable to change directory to"); @@ -945,7 +952,8 @@ go_to_it: seq_setunseen (mp, 0); /* set the Unseen-Sequence */ seq_save (mp); /* synchronize sequences */ context_save (); /* save the context file */ - return done (0); + done (0); + return 1; } @@ -982,8 +990,8 @@ cpymsg (FILE *in, FILE *out) #endif /* if 0 */ -int -done (int status) +static void +inc_done (int status) { #ifdef POP if (packfile && pd != NOTOK) @@ -996,7 +1004,6 @@ done (int status) DROPGROUPPRIVS(); } exit (status); - return 1; /* dead code to satisfy the compiler */ } #ifdef POP