X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhfree.c;h=c9a0418813b90a034ce19f16d5a5139886c535b4;hp=dd1277c8f15d244dddc08c4dacfcd81bf9401cfc;hb=fede6e42d81ce34fd5c1bbe7fb2757b281c2573a;hpb=5b792c4424571f05bc2008e3109797d18d7d00d1 diff --git a/uip/mhfree.c b/uip/mhfree.c index dd1277c..c9a0418 100644 --- a/uip/mhfree.c +++ b/uip/mhfree.c @@ -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); + } + } }