From f3944a41d1afb870cbb0daa34e030d7a8926060d Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Thu, 7 Aug 2025 21:57:56 +0530 Subject: engine: eachdo: move all free()s to the bottom --- src/engine/eachdo.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/engine/eachdo.c') diff --git a/src/engine/eachdo.c b/src/engine/eachdo.c index 506b64a..a251a98 100644 --- a/src/engine/eachdo.c +++ b/src/engine/eachdo.c @@ -112,13 +112,6 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive) fetch_files(operands, directives, atoms, &length); char *content = calloc(length, sizeof(char)); - - for (size_t i = 0; i < atoms->size; i++) { - ptr_wrapper_t *wrapper = list_get(atoms, i); - strcat(content, (char *) wrapper->ptr); - free(wrapper->ptr); - } - char *temp_buffer = strdup(*buffer); free(*buffer); @@ -134,6 +127,12 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive) free(_directive->operands); } + for (size_t i = 0; i < atoms->size; i++) { + ptr_wrapper_t *wrapper = list_get(atoms, i); + strcat(content, (char *) wrapper->ptr); + free(wrapper->ptr); + } + list_delete(directives); list_delete(atoms); free(content); -- cgit v1.2.3