X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhfree.c;h=5378c35c0a4e174e759b1edc2e773b051af45cbb;hp=c87306691f453bb4a6753700c4eab7a8738a4dc3;hb=6e9577f324bef90765a5edc02044eb111ec48072;hpb=2abb9a7cfb0930e27062088734d306e7d78e4cc2 diff --git a/uip/mhfree.c b/uip/mhfree.c index c873066..5378c35 100644 --- a/uip/mhfree.c +++ b/uip/mhfree.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include @@ -49,13 +50,13 @@ free_content(CT ct) free_header(ct); if (ct->c_partno) - free(ct->c_partno); + mh_free0(&(ct->c_partno)); if (ct->c_vrsn) - free(ct->c_vrsn); + mh_free0(&(ct->c_vrsn)); if (ct->c_ctline) - free(ct->c_ctline); + mh_free0(&(ct->c_ctline)); free_ctinfo(ct); @@ -80,39 +81,39 @@ free_content(CT ct) } if (ct->c_charset) - free(ct->c_charset); + mh_free0(&(ct->c_charset)); if (ct->c_showproc) - free(ct->c_showproc); + mh_free0(&(ct->c_showproc)); if (ct->c_storeproc) - free(ct->c_storeproc); + mh_free0(&(ct->c_storeproc)); if (ct->c_celine) - free(ct->c_celine); + mh_free0(&(ct->c_celine)); /* free structures for content encodings */ free_encoding(ct, 1); if (ct->c_id) - free(ct->c_id); + mh_free0(&(ct->c_id)); if (ct->c_descr) - free(ct->c_descr); + mh_free0(&(ct->c_descr)); if (ct->c_dispo) - free(ct->c_dispo); + mh_free0(&(ct->c_dispo)); if (ct->c_file) { if (ct->c_unlink) unlink(ct->c_file); - free(ct->c_file); + mh_free0(&(ct->c_file)); } if (ct->c_fp) fclose(ct->c_fp); if (ct->c_storage) - free(ct->c_storage); + mh_free0(&(ct->c_storage)); if (ct->c_folder) - free(ct->c_folder); + mh_free0(&(ct->c_folder)); - free(ct); + mh_free0(&ct); } @@ -130,9 +131,9 @@ free_header(CT ct) while (hp1) { hp2 = hp1->next; - free(hp1->name); - free(hp1->value); - free(hp1); + mh_free0(&(hp1->name)); + mh_free0(&(hp1->value)); + mh_free0(&hp1); hp1 = hp2; } @@ -150,24 +151,19 @@ free_ctinfo(CT ct) ci = &ct->c_ctinfo; if (ci->ci_type) { - free(ci->ci_type); - ci->ci_type = NULL; + mh_free0(&(ci->ci_type)); } if (ci->ci_subtype) { - free(ci->ci_subtype); - ci->ci_subtype = NULL; + mh_free0(&(ci->ci_subtype)); } for (ap = ci->ci_attrs; *ap; ap++) { - free(*ap); - *ap = NULL; + mh_free0(ap); } if (ci->ci_comment) { - free(ci->ci_comment); - ci->ci_comment = NULL; + mh_free0(&(ci->ci_comment)); } if (ci->ci_magic) { - free(ci->ci_magic); - ci->ci_magic = NULL; + mh_free0(&(ci->ci_magic)); } } @@ -180,8 +176,7 @@ free_text(CT ct) if (!(t = (struct text *) ct->c_ctparams)) return; - free((char *) t); - ct->c_ctparams = NULL; + mh_free0(&t); } @@ -195,19 +190,17 @@ free_multi(CT ct) return; if (m->mp_start) - free(m->mp_start); + mh_free0(&(m->mp_start)); if (m->mp_stop) - free(m->mp_stop); + mh_free0(&(m->mp_stop)); for (part = m->mp_parts; part; part = next) { next = part->mp_next; free_content(part->mp_part); - free((char *) part); + mh_free0(&part); } - m->mp_parts = NULL; - free((char *) m); - ct->c_ctparams = NULL; + mh_free0(&m); } @@ -220,10 +213,9 @@ free_partial(CT ct) return; if (p->pm_partid) - free(p->pm_partid); + mh_free0(&(p->pm_partid)); - free((char *) p); - ct->c_ctparams = NULL; + mh_free0(&p); } @@ -248,13 +240,11 @@ free_encoding(CT ct, int toplevel) if (ce->ce_file) { if (ce->ce_unlink) unlink(ce->ce_file); - free(ce->ce_file); - ce->ce_file = NULL; + mh_free0(&(ce->ce_file)); } if (toplevel) { - free((char *) ce); - ct->c_cefile = NULL; + mh_free0(&ce); } else { ct->c_ceopenfnx = NULL; }