X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=src%2Fmarkdown.c;h=22ebdbfdb18af61fe663ed74d1184d467c8d3b55;hb=b19204eefea6af6adce03debf6f011d03645f14b;hp=2db9d684afae19a0acaa041838c2cc9b352a4f0f;hpb=7fc5d3a79deb7bc3ac8faffb6d295c6c3a9154d2;p=smdp.git diff --git a/src/markdown.c b/src/markdown.c index 2db9d68..22ebdbf 100644 --- a/src/markdown.c +++ b/src/markdown.c @@ -62,26 +62,26 @@ deck_t *new_deck() { 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_line(line_t *line) { + line_t *next; + while (line) { + next = line->next; + (line->text->delete)(line->text); + free(line); + line = next; } } void free_deck(deck_t *deck) { - slide_t *s, *t; + slide_t *slide, *next; if (deck == NULL) return; - s = deck->slide; - while (s) { - free_line(s->line); - t = s->next; - free(s); - s = t; + slide = deck->slide; + while (slide) { + free_line(slide->line); + next = slide->next; + free(slide); + slide = next; } free_line(deck->header); free(deck);