aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-08-07 21:58:50 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-08-07 21:58:50 +0530
commitd5499e94c2893604249611282499cc7697f0be16 (patch)
tree59d1c5934e6ce0fa9558793a8713d24029a7425d
parentf3944a41d1afb870cbb0daa34e030d7a8926060d (diff)
Revert "engine: eachdo: move all free()s to the bottom"
This reverts commit f3944a41d1afb870cbb0daa34e030d7a8926060d.
-rw-r--r--src/engine/eachdo.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/engine/eachdo.c b/src/engine/eachdo.c
index a251a98..506b64a 100644
--- a/src/engine/eachdo.c
+++ b/src/engine/eachdo.c
@@ -112,6 +112,13 @@ 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);
@@ -127,12 +134,6 @@ 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);