X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhfree.c;h=df0ee4658eb3f6af5c91c7502da3b3468b8cfe67;hp=9d064ba1c2902d4761c3033955de2cd575afe2a1;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=4885712264980e6cbc2039f9158027bee9213475 diff --git a/uip/mhfree.c b/uip/mhfree.c index 9d064ba..df0ee46 100644 --- a/uip/mhfree.c +++ b/uip/mhfree.c @@ -15,6 +15,9 @@ #include #include +/* The list of top-level contents to display */ +CT *cts = NULL; + /* * prototypes */ @@ -22,6 +25,7 @@ void free_content (CT); void free_header (CT); void free_ctinfo (CT); void free_encoding (CT, int); +void freects_done (int); /* * static prototypes @@ -101,6 +105,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) @@ -279,3 +285,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); +}