]> diplodocus.org Git - nmh/blobdiff - uip/inc.c
Remove support for aliases based on Unix groups.
[nmh] / uip / inc.c
index 1973a6af959cf1eaa4828194bfa8e66e47f1a8ae..b44e89e5a6ab64c8200bd4386808e0191226727e 100644 (file)
--- a/uip/inc.c
+++ b/uip/inc.c
@@ -1,6 +1,4 @@
-
-/*
- * inc.c -- incorporate messages from a maildrop into a folder
+/* inc.c -- incorporate messages from a maildrop into a folder
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -42,6 +40,9 @@
 #include <h/signals.h>
 #include <h/tws.h>
 #include <h/mts.h>
+#include "../sbr/lock_file.h"
+#include "../sbr/m_maildir.h"
+#include "../sbr/m_mktemp.h"
 
 #ifndef TLS_SUPPORT
 # define TLSminc(a) (a)
@@ -186,10 +187,12 @@ maildir_srt(const void *va, const void *vb)
 int
 main (int argc, char **argv)
 {
-    int chgflag = 1, trnflag = 1;
-    int noisy = 1, width = -1;
+    bool chgflag;
+    int trnflag = 1;
+    bool noisy;
+    int width = -1;
     int hghnum = 0, msgnum = 0;
-    int sasl = 0, tls = 0, noverify = 1;
+    bool sasl, tls, noverify;
     int incerr = 0; /* <0 if inc hits an error which means it should not truncate mailspool */
     char *cp, *maildir = NULL, *folder = NULL;
     char *format = NULL, *form = NULL;
@@ -234,6 +237,8 @@ main (int argc, char **argv)
     if (pophost && *pophost)
        host = pophost;
 
+    sasl = tls = false;
+    chgflag = noisy = noverify = true;
     while ((cp = *argp++)) {
        if (*cp == '-') {
            switch (smatch (++cp, switches)) {
@@ -261,10 +266,10 @@ main (int argc, char **argv)
                continue;
 
            case CHGSW:
-               chgflag++;
+                chgflag = true;
                continue;
            case NCHGSW:
-               chgflag = 0;
+                chgflag = false;
                continue;
 
            /*
@@ -295,10 +300,10 @@ main (int argc, char **argv)
                continue;
 
            case SILSW:
-               noisy = 0;
+                noisy = false;
                continue;
            case NSILSW:
-               noisy++;
+                noisy = true;
                continue;
 
            case FORMSW:
@@ -346,10 +351,10 @@ main (int argc, char **argv)
                continue;
        
            case SASLSW:
-               sasl++;
+                sasl = true;
                continue;
            case NOSASLSW:
-               sasl = 0;
+                sasl = false;
                continue;
        
            case SASLMECHSW:
@@ -358,19 +363,19 @@ main (int argc, char **argv)
                continue;
 
            case INITTLSSW:
-               tls++;
+                tls = true;
                continue;
 
            case NOTLSSW:
-               tls = 0;
+                tls = false;
                continue;
 
            case CERTVERSW:
-               noverify = 0;
+                noverify = false;
                continue;
 
            case NOCERTVERSW:
-               noverify++;
+                noverify = true;
                continue;
 
            case AUTHSERVICESW:
@@ -404,7 +409,7 @@ main (int argc, char **argv)
     if (host && !*host)
        host = NULL;
 
-    /* guarantee dropping group priveleges; we might not have done so earlier */
+    /* guarantee dropping group privileges; we might not have done so earlier */
     DROPGROUPPRIVS();
 
     /*
@@ -524,9 +529,7 @@ main (int argc, char **argv)
            qsort (Maildir, num_maildir_entries, sizeof(*Maildir), maildir_srt);
        }
 
-       if ((cp = strdup(newmail)) == NULL)
-           adios (NULL, "error allocating memory to copy newmail");
-
+       cp = mh_xstrdup(newmail);
        newmail = cp;
     }
 
@@ -539,9 +542,7 @@ main (int argc, char **argv)
     if (!folder)
        folder = getfolder (0);
     maildir = m_maildir (folder);
-
-    if ((maildir_copy = strdup(maildir)) == NULL)
-        adios (maildir, "error allocating memory to copy maildir");
+    maildir_copy = mh_xstrdup(maildir);
 
     if (!folder_exists(maildir)) {
         /* If the folder doesn't exist, and we're given the -silent flag,
@@ -591,7 +592,7 @@ go_to_it:
     if (audfile) {
        int i;
        if ((i = stat (audfile, &st)) == NOTOK)
-           advise (NULL, "Creating Receive-Audit: %s", audfile);
+           inform("Creating Receive-Audit: %s", audfile);
        if ((aud = fopen (audfile, "a")) == NULL)
            adios (audfile, "unable to append to");
        else if (i == NOTOK)
@@ -766,15 +767,15 @@ go_to_it:
            case SCNERR:
                if (aud)
                    fputs ("inc aborted!\n", aud);
-               advise (NULL, "aborted!");      /* doesn't clean up locks! */
+               inform("aborted!");     /* doesn't clean up locks! */
                break;
 
            case SCNNUM:
-               advise (NULL, "BUG in %s, number out of range", invo_name);
+               inform("BUG in %s, number out of range", invo_name);
                break;
 
            default:
-               advise (NULL, "BUG in %s, scan() botch (%d)", invo_name, incerr);
+               inform("BUG in %s, scan() botch (%d)", invo_name, incerr);
                break;
 
            case SCNMSG:
@@ -921,7 +922,7 @@ go_to_it:
     if (inc_type == INC_FILE && Maildir == NULL) {
        if (trnflag) {
            if (stat (newmail, &st) != NOTOK && s1.st_mtime != st.st_mtime)
-               advise (NULL, "new messages have arrived!\007");
+               inform("new messages have arrived!\007");
            else {
                int newfd;
                if ((newfd = creat (newmail, 0600)) != NOTOK)
@@ -937,7 +938,7 @@ go_to_it:
     }
 
     if (msgnum == hghnum) {
-       admonish (NULL, "no messages incorporated");
+       inform("no messages incorporated, continuing...");
     } else {
        /*
         * Lock the sequence file now, and loop to set the right flags
@@ -950,7 +951,7 @@ go_to_it:
        context_replace (pfolder, folder);      /* update current folder */
 
        if ((mp2 = folder_read(folder, 1)) == NULL) {
-           admonish(NULL, "Unable to reread folder %s", folder);
+           inform("Unable to reread folder %s, continuing...", folder);
            goto skip;
        }
 
@@ -960,7 +961,7 @@ go_to_it:
 
        if (msgnum >= mp2->hghoff
                && !(mp2 = folder_realloc (mp2, mp2->lowoff, msgnum + 1))) {
-           advise (NULL, "unable to reallocate folder storage");
+           inform("unable to reallocate folder storage");
            goto skip;
        }
 
@@ -1004,7 +1005,7 @@ skip:
 }
 
 
-static void
+static void NORETURN
 inc_done (int status)
 {
     done = exit;