#include <h/scansbr.h>
#include <h/signals.h>
#include <h/tws.h>
-#include <h/mts.h>
#include <errno.h>
#include <signal.h>
/*
** prototypes
*/
-char *map_name(char *);
-
static void inc_done(int) NORETURN;
/* read user profile/context */
context_read();
- mts_init(invo_name);
arguments = getarguments(invo_name, argc, argv, 1);
argp = arguments;
case AUDSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s", argp[-2]);
- audfile = getcpy(m_maildir(cp));
+ audfile = getcpy(expanddir(cp));
continue;
case NAUDSW:
audfile = NULL;
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
argp[-2]);
- from = path(cp, TFILE);
+ from = getcpy(expanddir(cp));
/*
** If the truncate file is in default state,
if (folder)
adios(NULL, "only one folder at a time!");
else
- folder = pluspath(cp);
+ folder = getcpy(expandfol(cp));
} else {
adios(NULL, "usage: %s [+folder] [switches]",
invo_name);
if (from)
newmail = from;
else if ((newmail = getenv("MAILDROP")) && *newmail)
- newmail = m_mailpath(newmail);
+ newmail = toabsdir(newmail);
else if ((newmail = context_find("maildrop")) && *newmail)
- newmail = m_mailpath(newmail);
+ newmail = toabsdir(newmail);
else {
- newmail = concat(MAILDIR, "/", MAILFIL, NULL);
+ newmail = concat(mailspool, "/", getusername(), NULL);
}
if (stat(newmail, &s1) == NOTOK || s1.st_size == 0)
adios(NULL, "no mail to incorporate");
- if ((cp = strdup(newmail)) == (char *)0)
+ if ((cp = strdup(newmail)) == NULL)
adios(NULL, "error allocating memory to copy newmail");
newmail = cp;
- if (!context_find("path"))
- free(path("./", TFOLDER));
if (!folder)
- folder = getfolder(0);
- maildir = m_maildir(folder);
+ folder = getdeffol();
+ maildir = toabsdir(folder);
- if ((maildir_copy = strdup(maildir)) == (char *)0)
+ if ((maildir_copy = strdup(maildir)) == NULL)
adios(maildir, "error allocating memory to copy maildir");
if (!folder_exists(maildir)) {
snprintf(b, sizeof (b), "%s/%d", maildir_copy,
msgnum + 1);
- ext_hook("add-hook", b, (char *)0);
+ ext_hook("add-hook", b, NULL);
if (aud)
fputs(scanl, aud);
if (incerr < 0) { /* error */
if (locked) {
GETGROUPPRIVS(); /* Be sure we can unlock mail file */
- (void) lkfclose(in, newmail); in = NULL;
+ lkfclose(in, newmail); in = NULL;
DROPGROUPPRIVS(); /*
** And then return us to normal
** privileges
close(newfd);
else
admonish(newmail, "error zero'ing");
- unlink(map_name(newmail));
}
} else if (noisy) {
printf("%s not zero'd\n", newmail);
if (msgnum == hghnum) {
admonish(NULL, "no messages incorporated");
} else {
- context_replace(pfolder, folder); /* update current folder */
+ context_replace(curfolder, folder); /* update current folder */
if (chgflag)
mp->curmsg = hghnum + 1;
mp->hghmsg = msgnum;
*/
if (locked) {
GETGROUPPRIVS(); /* Be sure we can unlock mail file */
- (void) lkfclose(in, newmail); in = NULL;
+ lkfclose(in, newmail); in = NULL;
DROPGROUPPRIVS(); /* And then return us to normal privileges */
} else {
fclose(in); in = NULL;
}
- seq_setunseen(mp, 0); /* set the Unseen-Sequence */
+ seq_setunseen(mp, 1); /* add new msgs to unseen sequences */
seq_save(mp); /* synchronize sequences */
context_save(); /* save the context file */
done(0);