X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Finc.c;h=02a2cbff97ce891441d79feaaca9b6bebb87329a;hb=3162c1b16d85ce6590bb839fd25378a28c005afc;hp=7886411cdf4892278ef4f2d1a20d6121d28112d1;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68;p=mmh diff --git a/uip/inc.c b/uip/inc.c index 7886411..02a2cbf 100644 --- a/uip/inc.c +++ b/uip/inc.c @@ -134,8 +134,6 @@ static struct swit switches[] = { { NULL, 0 } }; -extern int errno; - /* * flags for the mail source */ @@ -245,6 +243,8 @@ main (int argc, char **argv) struct msgs *mp; struct stat st, s1; FILE *aud = NULL; + char b[MAXPATHLEN + 1]; + char *maildir_copy; /* copy of mail directory because the static gets overwritten */ #ifdef POP int nmsgs, nbytes, p = 0; @@ -548,6 +548,9 @@ main (int argc, char **argv) folder = getfolder (0); maildir = m_maildir (folder); + if ((maildir_copy = strdup(maildir)) == (char *)0) + adios (maildir, "error allocating memory to copy maildir"); + if (stat (maildir, &st) == NOTOK) { if (errno != ENOENT) adios (maildir, "error on folder"); @@ -802,7 +805,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)) { @@ -826,6 +828,13 @@ go_to_it: case SCNMSG: case SCNENC: + /* + * Run the external program hook on the message. + */ + + (void)snprintf(b, sizeof (b), "%s/%d", maildir_copy, msgnum + 1); + (void)ext_hook("add-hook", b, (char *)0); + if (aud) fputs (scanl, aud); #ifdef MHE @@ -837,6 +846,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);