aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-07-29 21:54:18 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-07-29 21:54:18 +0530
commit0db7cca960bede061b0d7f4ee45df995a0eb02ab (patch)
treefa5face89fe525a1b7476e7d7e77e62325d0fa3d
parent2b2c8a0ad2dc9a087bdb3987ecfc126ff9500914 (diff)
config,engine,filehandler: add and wrap with helper function (memory leak)
-rw-r--r--src/config.c12
-rw-r--r--src/engine.c8
-rw-r--r--src/filehandler.c2
3 files changed, 9 insertions, 13 deletions
diff --git a/src/config.c b/src/config.c
index 34bd7f5..e634002 100644
--- a/src/config.c
+++ b/src/config.c
@@ -23,7 +23,7 @@ config_parse(char *content)
while (buffer != NULL) {
buffer = ltrim(buffer);
- list_add(keys, wrap_ptr(strdup(key)));
+ list_wrap_and_add(keys, strdup(key));
if (*buffer == '{') {
buffer++;
@@ -32,17 +32,17 @@ config_parse(char *content)
char *value = strsep(&raw_array, DELIM_ARRAY);
while (value != NULL) {
- list_add(l, wrap_ptr(strdup(trim(value))));
+ list_wrap_and_add(l, strdup(trim(value)));
value = strsep(&raw_array, DELIM_ARRAY);
}
- list_add(array_values, wrap_ptr(l));
- list_add(values, wrap_ptr(NULL));
+ list_wrap_and_add(array_values, l);
+ list_wrap_and_add(values, NULL);
} else {
char *value = trim(strsep(&buffer, "\n"));
- list_add(array_values, wrap_ptr(NULL));
- list_add(values, wrap_ptr(strdup(value)));
+ list_wrap_and_add(array_values, NULL);
+ list_wrap_and_add(values, strdup(value));
}
key = trim(strsep(&buffer, DELIM));
diff --git a/src/engine.c b/src/engine.c
index 9c2ed45..fa13834 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -132,9 +132,7 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive)
directive_t *directive = list_get(directives, i);
switch (directive->type) {
case _RAW: {
- ptr_wrapper_t *_wrapper = wrap_ptr(strdup(directive->operands));
- list_add(atoms, _wrapper);
- free(_wrapper);
+ list_wrap_and_add(atoms, strdup(directive->operands));
length += strlen(directive->operands);
break;
}
@@ -145,9 +143,7 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive)
config->keys, config->values, (char *) directive->operands);
if (key_wrp != NULL) {
- ptr_wrapper_t *_wrapper = wrap_ptr(strdup(key_wrp->ptr));
- list_add(atoms, _wrapper);
- free(_wrapper);
+ list_wrap_and_add(atoms, strdup(key_wrp->ptr));
length += strlen(key_wrp->ptr);
}
diff --git a/src/filehandler.c b/src/filehandler.c
index fb1cedb..cc3bbb9 100644
--- a/src/filehandler.c
+++ b/src/filehandler.c
@@ -47,7 +47,7 @@ enumfilesindir(char *path)
while ((dir = readdir(d)) != NULL)
if (dir->d_type == DT_REG)
- list_add(l, wrap_ptr(strdup(dir->d_name)));
+ list_wrap_and_add(l, strdup(dir->d_name));
closedir(d);
return l;