]> diplodocus.org Git - nmh/blobdiff - uip/inc.c
Merge branch 'tmpfiles'
[nmh] / uip / inc.c
index e1c58cb1e68217ea0774236d658f3697352df638..b76f1cd96d8d04bf33b646ba479b9559a6a9f287 100644 (file)
--- a/uip/inc.c
+++ b/uip/inc.c
@@ -29,7 +29,6 @@
 #include <h/mh.h>
 #include <h/utils.h>
 #include <fcntl.h>
-
 #include <h/dropsbr.h>
 #include <h/popsbr.h>
 #include <h/fmt_scan.h>
@@ -37,8 +36,6 @@
 #include <h/signals.h>
 #include <h/tws.h>
 #include <h/mts.h>
-#include <errno.h>
-#include <signal.h>
 
 #ifndef CYRUS_SASL
 # define SASLminc(a) (a)
@@ -200,13 +197,7 @@ main (int argc, char **argv)
     SAVEGROUPPRIVS();
     TRYDROPGROUPPRIVS();
 
-#ifdef LOCALE
-    setlocale(LC_ALL, "");
-#endif
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
+    if (nmh_init(argv[0], 1)) { return 1; }
 
     mts_init (invo_name);
     arguments = getarguments (invo_name, argc, argv, 1);
@@ -550,10 +541,15 @@ go_to_it:
        else if (i == NOTOK)
            chmod (audfile, m_gmprot ());
 
-       fprintf (aud, from ? "<<inc>> %s -ms %s\n"
-                : host ? "<<inc>> %s -host %s -user %s\n"
-                : "<<inc>> %s\n",
-                dtimenow (0), from ? from : host, user);
+       if (from)
+           fprintf (aud, "<<inc>> %s -ms %s\n", dtimenow(0), from);
+       else {
+           if (host)
+               fprintf (aud, "<<inc>> %s -host %s -user %s\n", dtimenow(0),
+                        host, user);
+           else
+               fprintf (aud, "<<inc>> %s\n", dtimenow (0));
+       }
     }
 
     /* Get new format string */
@@ -660,7 +656,7 @@ go_to_it:
            } else {
                if (ferror(pf) || fclose (pf)) {
                    int e = errno;
-                   unlink (cp);
+                   (void) m_unlink (cp);
                    pop_quit ();
                    errno = e;
                    adios (cp, "write error on");
@@ -755,7 +751,7 @@ go_to_it:
                        break;
                if (ferror(sf) || fflush(pf) || ferror(pf)) {
                        int e = errno;
-                       fclose(pf); fclose(sf); unlink(cp);
+                       fclose(pf); fclose(sf); (void) m_unlink(cp);
                        errno = e;
                        adios(cp, "copy error %s -> %s", sp, cp);
                }
@@ -802,14 +798,14 @@ go_to_it:
            }
            if (ferror(pf) || fclose (pf)) {
                int e = errno;
-               unlink (cp);
+               (void) m_unlink (cp);
                errno = e;
                adios (cp, "write error on");
            }
            pf = NULL;
            free (cp);
 
-           if (trnflag && unlink (sp) == NOTOK)
+           if (trnflag && m_unlink (sp) == NOTOK)
                adios (sp, "couldn't unlink");
            free (sp); /* Free Maildir[i]->filename */
        }
@@ -851,7 +847,7 @@ go_to_it:
                    close (newfd);
                else
                    admonish (newmail, "error zero'ing");
-               unlink(map_name(newmail));
+               (void) m_unlink(map_name(newmail));
            }
        } else {
            if (noisy)