diff options
author | cflip <cflip@cflip.net> | 2023-01-12 16:35:44 -0700 |
---|---|---|
committer | cflip <cflip@cflip.net> | 2023-01-12 16:35:50 -0700 |
commit | 0d69f89e6bedb5ef675610d1025eaf8b46bd3422 (patch) | |
tree | 2acc5f9e3325db387ce7c0093c2ec199225a285a | |
parent | 7964e549ff3889455ce1d1a87b47ab1b0adb722c (diff) |
Clean up editor_state's memory on teardown
-rw-r--r-- | editor.c | 8 | ||||
-rw-r--r-- | editor.h | 2 | ||||
-rw-r--r-- | main.c | 3 |
3 files changed, 12 insertions, 1 deletions
@@ -331,3 +331,11 @@ void editor_draw_message_bar(struct editor_state* editor, struct append_buffer* if (message_length && time(NULL) - editor->status_message_time < 5) ab_append(buffer, editor->status_message, message_length); } + +void editor_destroy(struct editor_state *editor) +{ + free(editor->filename); + for (int i = 0; i < editor->row_count; i++) + free_row(&editor->rows[i]); + free(editor->rows); +} @@ -46,4 +46,6 @@ void editor_draw_rows(struct editor_state* editor, struct append_buffer* buffer) void editor_draw_status_bar(struct editor_state* editor, struct append_buffer* buffer); void editor_draw_message_bar(struct editor_state* editor, struct append_buffer* buffer); +void editor_destroy(struct editor_state *editor); + #endif @@ -1,4 +1,3 @@ -#include "input.h" #include "file.h" #include "editor.h" #include "window.h" @@ -23,5 +22,7 @@ int main(int argc, char** argv) } window_destroy(); + editor_destroy(&editor); + return 0; } |