]> diplodocus.org Git - nmh/blobdiff - uip/mhstore.c
h/mhparse.h: Move mhfree.c's free_content prototype to new header.
[nmh] / uip / mhstore.c
index a3481034e6a01f4f37b81b408646727a990a48ec..2fce6c8dadd372c997195f69ee78511af9c9a6b9 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * mhstore.c -- store the contents of MIME messages
+/* mhstore.c -- store the contents of MIME messages
  *
  * 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
@@ -17,6 +15,7 @@
 #include <h/mhparse.h>
 #include <h/mhcachesbr.h>
 #include <h/utils.h>
 #include <h/mhparse.h>
 #include <h/mhcachesbr.h>
 #include <h/utils.h>
+#include "mhfree.h"
 
 #define MHSTORE_SWITCHES \
     X("auto", 0, AUTOSW) \
 
 #define MHSTORE_SWITCHES \
     X("auto", 0, AUTOSW) \
@@ -75,10 +74,6 @@ int part_ok (CT);
 int type_ok (CT, int);
 void flush_errors (void);
 
 int type_ok (CT, int);
 void flush_errors (void);
 
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-
 /*
  * static prototypes
  */
 /*
  * static prototypes
  */
@@ -266,7 +261,7 @@ do_cache:
     /*
      * Cache the current directory before we do any chdirs()'s.
      */
     /*
      * Cache the current directory before we do any chdirs()'s.
      */
-    cwd = add(pwd(), NULL);
+    cwd = mh_xstrdup(pwd());
 
     if (!context_find ("path"))
        free (path ("./", TFOLDER));
 
     if (!context_find ("path"))
        free (path ("./", TFOLDER));
@@ -278,14 +273,13 @@ do_cache:
      * check if message is coming from file
      */
     if (file) {
      * check if message is coming from file
      */
     if (file) {
-       if (!(cts = (CT *) mh_xcalloc ((size_t) 2, sizeof(*cts))))
-           adios (NULL, "out of memory");
+       cts = mh_xcalloc(2, sizeof *cts);
        ctp = cts;
 
        if ((ct = parse_mime (file))) {
            *ctp++ = ct;
            if (outfile) {
        ctp = cts;
 
        if ((ct = parse_mime (file))) {
            *ctp++ = ct;
            if (outfile) {
-               ct->c_storage = add (outfile, NULL);
+               ct->c_storage = mh_xstrdup(outfile);
            }
         }
     } else {
            }
         }
     } else {
@@ -315,8 +309,7 @@ do_cache:
                done (1);
        seq_setprev (mp);       /* set the previous-sequence */
 
                done (1);
        seq_setprev (mp);       /* set the previous-sequence */
 
-       if (!(cts = (CT *) mh_xcalloc ((size_t) (mp->numsel + 1), sizeof(*cts))))
-           adios (NULL, "out of memory");
+       cts = mh_xcalloc(mp->numsel + 1, sizeof *cts);
        ctp = cts;
 
        for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
        ctp = cts;
 
        for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
@@ -327,7 +320,7 @@ do_cache:
                if ((ct = parse_mime (msgnam))) {
                    *ctp++ = ct;
                    if (outfile) {
                if ((ct = parse_mime (msgnam))) {
                    *ctp++ = ct;
                    if (outfile) {
-                       ct->c_storage = add (outfile, NULL);
+                       ct->c_storage = mh_xstrdup(outfile);
                    }
                 }
            }
                    }
                 }
            }