add free_field as standard for struct field
[mmh] / uip / mhfree.c
index 5fe5b2d..c873066 100644 (file)
@@ -11,6 +11,7 @@
 #include <errno.h>
 #include <h/mime.h>
 #include <h/mhparse.h>
+#include <unistd.h>
 
 /* The list of top-level contents to display */
 CT *cts = NULL;
@@ -22,7 +23,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
@@ -78,10 +79,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);
 
@@ -261,13 +262,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);
+               }
+       }
 }