diff --git a/dumptree.c b/dumptree.c index 0c0c01f..258179d 100644 --- a/dumptree.c +++ b/dumptree.c @@ -145,7 +145,6 @@ mkd_dump(Document *doc, FILE *out, int flags, char *title) dumptree(doc->code, &stack, out); DELETE(stack); - mkd_cleanup(doc); return 0; } return -1; diff --git a/main.c b/main.c index b2f4059..8c152a4 100644 --- a/main.c +++ b/main.c @@ -206,9 +206,9 @@ main(int argc, char **argv) mkd_generatetoc(doc, stdout); if ( content ) mkd_generatehtml(doc, stdout); - mkd_cleanup(doc); } } + mkd_cleanup(doc); } mkd_deallocate_tags(); adump(); diff --git a/makepage.c b/makepage.c index 51ea45e..df47cd5 100644 --- a/makepage.c +++ b/makepage.c @@ -30,6 +30,7 @@ char **argv; char *q; int version = 0; int opt; + int ret; mkd_flag_t flags = 0; if ( (q = getenv("MARKDOWN_FLAGS")) ) @@ -82,5 +83,9 @@ char **argv; exit(1); } - exit(mkd_xhtmlpage(doc, flags, stdout)); + ret = mkd_xhtmlpage(doc, flags, stdout); + + mkd_cleanup(doc); + + exit(ret); } diff --git a/xmlpage.c b/xmlpage.c index 96ed2b7..e111c73 100644 --- a/xmlpage.c +++ b/xmlpage.c @@ -39,8 +39,6 @@ mkd_xhtmlpage(Document *p, int flags, FILE *out) mkd_generatehtml(p, out); fprintf(out, "\n"); fprintf(out, "\n"); - - mkd_cleanup(p); return 0; }