X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fmhfree.c;h=38b830ec20908eba042b1517d954642ad17bed3a;hb=a01a41d031c796b526329a4170eb23f0ac93b949;hp=aef86cd84ac42f5c0ad582618de2a19080553aa6;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b;p=mmh diff --git a/uip/mhfree.c b/uip/mhfree.c index aef86cd..38b830e 100644 --- a/uip/mhfree.c +++ b/uip/mhfree.c @@ -3,7 +3,9 @@ * mhfree.c -- routines to free the data structures used to * -- represent MIME messages * - * $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 @@ -11,7 +13,8 @@ #include #include -extern int errno; +/* The list of top-level contents to display */ +CT *cts = NULL; /* * prototypes @@ -20,6 +23,7 @@ void free_content (CT); void free_header (CT); void free_ctinfo (CT); void free_encoding (CT, int); +void freects_done (int); /* * static prototypes @@ -99,6 +103,8 @@ free_content (CT ct) free (ct->c_id); if (ct->c_descr) free (ct->c_descr); + if (ct->c_dispo) + free (ct->c_dispo); if (ct->c_file) { if (ct->c_unlink) @@ -267,6 +273,7 @@ free_encoding (CT ct, int toplevel) if (ce->ce_unlink) unlink (ce->ce_file); free (ce->ce_file); + ce->ce_file = NULL; } if (toplevel) { @@ -276,3 +283,16 @@ free_encoding (CT ct, int toplevel) ct->c_ceopenfnx = NULL; } } + + +void +freects_done (int status) +{ + CT *ctp; + + if ((ctp = cts)) + for (; *ctp; ctp++) + free_content (*ctp); + + exit (status); +}