X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Finc.c;h=af8180d1c111f08204377ea5e0419cde39807584;hp=9c8049ab3c9ff820e99408a64a319dcf2bb43247;hb=4885712264980e6cbc2039f9158027bee9213475;hpb=365996ecb8f3c61c9912988ee0d9a99d616e33c8 diff --git a/uip/inc.c b/uip/inc.c index 9c8049a..af8180d 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -3,6 +3,10 @@ * inc.c -- incorporate messages from a maildrop into a folder * * $Id$ + * + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #ifdef MAILGROUP @@ -40,7 +44,7 @@ #include #include #include -#include +#include #include #include @@ -130,8 +134,6 @@ static struct swit switches[] = { { NULL, 0 } }; -extern int errno; - /* * flags for the mail source */ @@ -241,10 +243,12 @@ main (int argc, char **argv) struct msgs *mp; struct stat st, s1; FILE *aud = NULL; + char b[MAXPATHLEN + 1]; #ifdef POP int nmsgs, nbytes, p = 0; char *pass = NULL; + char *MAILHOST_env_variable; #endif #ifdef MHE @@ -253,7 +257,6 @@ main (int argc, char **argv) #ifdef HESIOD struct hes_postoffice *po; - char *tmphost; #endif /* absolutely the first thing we do is save our privileges, @@ -275,7 +278,6 @@ main (int argc, char **argv) argp = arguments; #ifdef POP -# ifdef HESIOD /* * Scheme is: * use MAILHOST environment variable if present, @@ -283,8 +285,9 @@ main (int argc, char **argv) * If that fails, use the default (if any) * provided by mts.conf in mts_init() */ - if ((tmphost = getenv("MAILHOST")) != NULL) - pophost = tmphost; + if ((MAILHOST_env_variable = getenv("MAILHOST")) != NULL) + pophost = MAILHOST_env_variable; +# ifdef HESIOD else if ((po = hes_getmailhost(getusername())) != NULL && strcmp(po->po_type, "POP") == 0) pophost = po->po_host; @@ -798,7 +801,6 @@ go_to_it: /* link message into folder */ newmsg = folder_addmsg(mp, tmpfilenam); #endif - /* create scanline for new message */ switch (i = scan (in, msgnum + 1, msgnum + 1, nfs, width, msgnum == hghnum && chgflag, 1, NULL, 0L, noisy)) { @@ -822,6 +824,13 @@ go_to_it: case SCNMSG: case SCNENC: + /* + * Run the external program hook on the message. + */ + + (void)snprintf(b, sizeof (b), "%s/%d", maildir, msgnum + 1); + (void)ext_hook("add-hook", b, (char *)0); + if (aud) fputs (scanl, aud); #ifdef MHE @@ -833,6 +842,9 @@ go_to_it: msgnum++; mp->hghmsg++; + mp->nummsg++; + if (mp->lowmsg == 0) mp->lowmsg = 1; + clear_msg_flags (mp, msgnum); set_exists (mp, msgnum); set_unseen (mp, msgnum);