X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=src%2Fmarkdown.c;h=2db9d684afae19a0acaa041838c2cc9b352a4f0f;hb=7fc5d3a79deb7bc3ac8faffb6d295c6c3a9154d2;hp=d5dbe197958944fb4f5ae70f031fcb9e2ae1930e;hpb=d2fc31c1f5458db55941c531d7270ae70979f864;p=smdp.git diff --git a/src/markdown.c b/src/markdown.c index d5dbe19..2db9d68 100644 --- a/src/markdown.c +++ b/src/markdown.c @@ -61,3 +61,28 @@ deck_t *new_deck() { x->slides = x->headers = 0; return x; } + +void free_line(line_t *l) { + line_t *n; + while (l) { + n = l->next; + cstring_delete(l->text); + free(l); + l = n; + } +} + +void free_deck(deck_t *deck) { + slide_t *s, *t; + if (deck == NULL) + return; + s = deck->slide; + while (s) { + free_line(s->line); + t = s->next; + free(s); + s = t; + } + free_line(deck->header); + free(deck); +}