Added support for optional Content_Disposition header in mhbuild directive.s
[mmh] / uip / rmm.c
index 1b09907..b9fd80d 100644 (file)
--- a/uip/rmm.c
+++ b/uip/rmm.c
@@ -3,9 +3,14 @@
  * rmm.c -- remove a message(s)
  *
  * $Id$
+ *
+ * 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/utils.h>
 
 /*
  * We allocate space for message names and ranges
@@ -21,7 +26,7 @@ static struct swit switches[] = {
 #define VERSIONSW     2
     { "version", 0 },
 #define        HELPSW        3
-    { "help", 4 },
+    { "help", 0 },
     { NULL, 0 }
 };
 
@@ -52,8 +57,7 @@ main (int argc, char **argv)
      */
     nummsgs = 0;
     maxmsgs = MAXMSGS;
-    if (!(msgs = (char **) malloc ((size_t) (maxmsgs * sizeof(*msgs)))))
-       adios (NULL, "unable to allocate storage");
+    msgs = (char **) mh_xmalloc ((size_t) (maxmsgs * sizeof(*msgs)));
 
     /* parse arguments */
     while ((cp = *argp++)) {
@@ -94,9 +98,8 @@ main (int argc, char **argv)
             */
            if (nummsgs >= maxmsgs){
                maxmsgs += MAXMSGS;
-               if (!(msgs = (char **) realloc (msgs,
-                            (size_t) (maxmsgs * sizeof(*msgs)))))
-                   adios (NULL, "unable to reallocate msgs storage");
+               msgs = (char **) mh_xrealloc (msgs,
+                   (size_t) (maxmsgs * sizeof(*msgs)));
            }
            msgs[nummsgs++] = cp;
        }
@@ -141,11 +144,11 @@ main (int argc, char **argv)
     }
 
     /* "remove" the SELECTED messages */
-    folder_delmsgs (mp, unlink_msgs);
+    folder_delmsgs (mp, unlink_msgs, 0);
 
     seq_save (mp);             /* synchronize message sequences  */
     context_replace (pfolder, folder); /* update current folder   */
     context_save ();                   /* save the context file   */
     folder_free (mp);                  /* free folder structure   */
-    done (0);
+    return done (0);
 }