]> diplodocus.org Git - nmh/blobdiff - uip/rcvpack.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / rcvpack.c
index 4725f26cc94a876066bfaf828a863badbc4f461f..7fc7602fe454e43d49f3a61622f1ccf8c93b8c6a 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * rcvpack.c -- append message to a file
+/* rcvpack.c -- append message to a file
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -12,6 +10,7 @@
 #include <h/rcvmail.h>
 #include <h/tws.h>
 #include <h/mts.h>
 #include <h/rcvmail.h>
 #include <h/tws.h>
 #include <h/mts.h>
+#include <h/utils.h>
 
 #define RCVPACK_SWITCHES \
     X("mbox", 0, MBOXSW) \
 
 #define RCVPACK_SWITCHES \
     X("mbox", 0, MBOXSW) \
@@ -40,15 +39,9 @@ main (int argc, char **argv)
     char *cp, *file = NULL, buf[BUFSIZ];
     char **argp, **arguments;
 
     char *cp, *file = NULL, buf[BUFSIZ];
     char **argp, **arguments;
 
-#ifdef LOCALE
-    setlocale(LC_ALL, "");
-#endif
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
+    if (nmh_init(argv[0], 2)) { return 1; }
 
 
-    mts_init (invo_name);
+    mts_init ();
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
 
@@ -80,8 +73,7 @@ main (int argc, char **argv)
        }
        if (file)
            adios (NULL, "only one file at a time!");
        }
        if (file)
            adios (NULL, "only one file at a time!");
-       else
-           file = cp;
+        file = cp;
     }
 
     if (!file)
     }
 
     if (!file)
@@ -94,7 +86,7 @@ main (int argc, char **argv)
        done (RCV_MBX);
 
     /* append the message */
        done (RCV_MBX);
 
     /* append the message */
-    if (mbx_copy (file, mbx_style, md, fileno(stdin), 1, NULL, 0) == NOTOK) {
+    if (mbx_copy (file, mbx_style, md, fileno(stdin), NULL) == NOTOK) {
        mbx_close (file, md);
        done (RCV_MBX);
     }
        mbx_close (file, md);
        done (RCV_MBX);
     }