Replace done with exit at uip
[mmh] / uip / mhfree.c
index dd1277c..c9a0418 100644 (file)
@@ -22,7 +22,7 @@ void free_content(CT);
 void free_header(CT);
 void free_ctinfo(CT);
 void free_encoding(CT, int);
-void freects_done(int);
+void freects_done();
 
 /*
 ** static prototypes
@@ -30,7 +30,6 @@ void freects_done(int);
 static void free_text(CT);
 static void free_multi(CT);
 static void free_partial(CT);
-static void free_external(CT);
 
 
 /*
@@ -69,14 +68,8 @@ free_content(CT ct)
                break;
 
        case CT_MESSAGE:
-               switch (ct->c_subtype) {
-               case MESSAGE_PARTIAL:
+               if (ct->c_subtype == MESSAGE_PARTIAL) {
                        free_partial(ct);
-                       break;
-
-               case MESSAGE_EXTERNAL:
-                       free_external(ct);
-                       break;
                }
                break;
 
@@ -85,10 +78,10 @@ free_content(CT ct)
                break;
        }
 
+       if (ct->c_charset)
+               free(ct->c_charset);
        if (ct->c_showproc)
                free(ct->c_showproc);
-       if (ct->c_termproc)
-               free(ct->c_termproc);
        if (ct->c_storeproc)
                free(ct->c_storeproc);
 
@@ -233,23 +226,6 @@ free_partial(CT ct)
 }
 
 
-static void
-free_external(CT ct)
-{
-       struct exbody *e;
-
-       if (!(e = (struct exbody *) ct->c_ctparams))
-               return;
-
-       free_content(e->eb_content);
-       if (e->eb_body)
-               free(e->eb_body);
-
-       free((char *) e);
-       ct->c_ctparams = NULL;
-}
-
-
 /*
 ** Free data structures related to encoding/decoding
 ** Content-Transfer-Encodings.
@@ -285,13 +261,13 @@ free_encoding(CT ct, int toplevel)
 
 
 void
-freects_done(int status)
+freects_done()
 {
        CT *ctp;
 
-       if ((ctp = cts))
-               for (; *ctp; ctp++)
+       if ((ctp = cts)) {
+               for (; *ctp; ctp++){
                        free_content(*ctp);
-
-       exit(status);
+               }
+       }
 }