]> diplodocus.org Git - nmh/blobdiff - uip/rcvpack.c
Add basic support for the STLS command in POP
[nmh] / uip / rcvpack.c
index df504a86000dc47c50513bf849e83d93f2cb4472..c2e509bcd4632f3ddf722d9eab6e277b9cdece41 100644 (file)
@@ -1,17 +1,23 @@
-
-/*
- * 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
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/dropsbr.h>
-#include <h/rcvmail.h>
-#include <h/tws.h>
-#include <h/mts.h>
+#include "h/mh.h"
+#include "sbr/m_gmprot.h"
+#include "sbr/getarguments.h"
+#include "sbr/smatch.h"
+#include "sbr/ambigsw.h"
+#include "sbr/print_version.h"
+#include "sbr/print_help.h"
+#include "sbr/error.h"
+#include "h/dropsbr.h"
+#include "h/tws.h"
+#include "h/mts.h"
+#include "h/done.h"
+#include "h/utils.h"
 
 #define RCVPACK_SWITCHES \
     X("mbox", 0, MBOXSW) \
@@ -40,7 +46,7 @@ main (int argc, char **argv)
     char *cp, *file = NULL, buf[BUFSIZ];
     char **argp, **arguments;
 
-    if (nmh_init(argv[0], 2)) { return 1; }
+    if (nmh_init(argv[0], true, false)) { return 1; }
 
     mts_init ();
     arguments = getarguments (invo_name, argc, argv, 1);
@@ -54,7 +60,7 @@ main (int argc, char **argv)
                    ambigsw (cp, switches);
                    done (1);
                case UNKWNSW: 
-                   adios (NULL, "-%s unknown", cp);
+                   die("-%s unknown", cp);
 
                case HELPSW: 
                    snprintf (buf, sizeof(buf), "%s [switches] file", invo_name);
@@ -73,30 +79,29 @@ main (int argc, char **argv)
            }
        }
        if (file)
-           adios (NULL, "only one file at a time!");
-       else
-           file = cp;
+           die("only one file at a time!");
+        file = cp;
     }
 
     if (!file)
-       adios (NULL, "%s [switches] file", invo_name);
+       die("%s [switches] file", invo_name);
 
     rewind (stdin);
 
     /* open and lock the file */
     if ((md = mbx_open (file, mbx_style, getuid(), getgid(), m_gmprot())) == NOTOK)
-       done (RCV_MBX);
+       done(1);
 
     /* 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);
+       done(1);
     }
 
     /* close and unlock the file */
     if (mbx_close (file, md) == NOTOK)
-       done (RCV_MBX);
+       done(1);
 
-    done (RCV_MOK);
+    done(0);
     return 1;
 }