X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Finc.c;h=f00c337e79201ce19b112b5bd323080c367f9bd9;hp=9752b5aadd91dc0687437082011b0d5378f9bbb5;hb=017a82124bf2ea39ced5aa4c8f969c18b3c2fb90;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/uip/inc.c b/uip/inc.c index 9752b5a..f00c337 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -55,6 +55,12 @@ # define APOPminc(a) 0 #endif +#ifndef KPOP +# define KPOPminc(a) (a) +#else +# define KPOPminc(a) 0 +#endif + static struct swit switches[] = { #define AUDSW 0 { "audit audit-file", 0 }, @@ -99,9 +105,11 @@ static struct swit switches[] = { #define VERSIONSW 20 { "version", 0 }, #define HELPSW 21 - { "help", 4 }, + { "help", 0 }, #define SNOOPSW 22 { "snoop", -5 }, +#define KPOPSW 23 + { "kpop", KPOPminc (-4) }, { NULL, 0 } }; @@ -144,7 +152,7 @@ static int return_gid; char *map_name(char *); #ifdef POP -void done(int); +int done(int); static int pop_action(char *); static int pop_pack(char *); static int map_count(void); @@ -157,6 +165,7 @@ main (int argc, char **argv) int chgflag = 1, trnflag = 1; int noisy = 1, width = 0, locked = 0; int rpop, i, hghnum, msgnum; + int kpop = 0; char *cp, *maildir, *folder = NULL; char *format = NULL, *form = NULL; char *newmail, *host = NULL, *user = NULL; @@ -218,11 +227,7 @@ main (int argc, char **argv) snoop++; #endif /* POP */ -#ifdef KPOP - rpop = 1; -#else rpop = 0; -#endif while ((cp = *argp++)) { if (*cp == '-') { @@ -346,6 +351,10 @@ main (int argc, char **argv) rpop = 0; continue; + case KPOPSW: + kpop = 1; + continue; + case SNOOPSW: snoop++; continue; @@ -393,7 +402,7 @@ main (int argc, char **argv) if (inc_type == INC_POP) { if (user == NULL) user = getusername (); - if (rpop > 0) + if (kpop || ( rpop > 0)) pass = getusername (); else ruserpass (host, &user, &pass); @@ -401,7 +410,7 @@ main (int argc, char **argv) /* * initialize POP connection */ - if (pop_init (host, user, pass, snoop, rpop) == NOTOK) + if (pop_init (host, user, pass, snoop, kpop ? 1 : rpop, kpop) == NOTOK) adios (NULL, "%s", response); /* Check if there are any messages */ @@ -848,7 +857,7 @@ go_to_it: seq_setunseen (mp, 0); /* set the Unseen-Sequence */ seq_save (mp); /* synchronize sequences */ context_save (); /* save the context file */ - done (0); + return done (0); } @@ -886,13 +895,14 @@ cpymsg (FILE *in, FILE *out) #ifdef POP -void +int done (int status) { if (packfile && pd != NOTOK) mbx_close (packfile, pd); exit (status); + return 1; /* dead code to satisfy the compiler */ } static int @@ -900,6 +910,7 @@ pop_action (char *s) { fprintf (pf, "%s\n", s); stop += strlen (s) + 1; + return 0; /* Is return value used? This was missing before 1999-07-15. */ } static int @@ -915,6 +926,7 @@ pop_pack (char *s) continue; fputs (buffer, pf); size += strlen (buffer) + 1; + return 0; /* Is return value used? This was missing before 1999-07-15. */ } static int