From 6f52b2fb97db698fd1616fb6c26901b966f8989b Mon Sep 17 00:00:00 2001 From: Ben Winston Date: Tue, 28 May 2024 20:34:25 -0400 Subject: free the list after it's been used --- booki.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/booki.c b/booki.c index eb01ca1..843ed9b 100644 --- a/booki.c +++ b/booki.c @@ -514,6 +514,17 @@ void open(char* filepath) { } } +void free_book(struct Book book) { + // any string can be a list of strings + struct es* str = book.author.next; + struct es* tmp; + while (str != NULL) { + tmp = str->next; + free(str); + str = tmp; + } +} + void search(int argc, char* argv[], char* booki_file) { struct search_opt search_opts = parse_search_options(argc, argv); @@ -583,6 +594,7 @@ void search(int argc, char* argv[], char* booki_file) { } else if (search_opts.edit) { write_book(book, fixed_file); } + free_book(book); } free(data); -- cgit v1.2.3