From d352dfca1246998fdf30be0be4198ef989fc44c4 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sat, 26 Jul 2025 18:32:55 +0530 Subject: util: add wrap_ptr() --- src/config.c | 26 +++++--------------------- src/util.c | 9 +++++++++ 2 files changed, 14 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/config.c b/src/config.c index ce2c7b0..88f4c84 100644 --- a/src/config.c +++ b/src/config.c @@ -14,8 +14,6 @@ config_parse(char *content) list_t *values = list_create(sizeof(ptr_wrapper_t)); list_t *array_values = list_create(sizeof(list_t)); - ptr_wrapper_t *wrapper; - char *buffer = strdup(content); /* For free() */ char *x = buffer; @@ -24,10 +22,7 @@ config_parse(char *content) while (buffer != NULL) { buffer = ltrim(buffer); - - wrapper = malloc(sizeof(ptr_wrapper_t)); - wrapper->ptr = strdup(key); - list_add(keys, wrapper); + list_add(keys, wrap_ptr(strdup(key))); if (*buffer == '{') { buffer++; @@ -36,28 +31,17 @@ config_parse(char *content) char *value = strsep(&raw_array, DELIM_ARRAY); while (value != NULL) { - wrapper = malloc(sizeof(ptr_wrapper_t)); - wrapper->ptr = strdup(trim(value)); - list_add(l, wrapper); - + list_add(l, wrap_ptr(strdup(trim(value)))); value = strsep(&raw_array, DELIM_ARRAY); } list_add(array_values, l); - - wrapper = malloc(sizeof(ptr_wrapper_t)); - wrapper->ptr = NULL; - list_add(values, wrapper); + list_add(values, wrap_ptr(NULL)); } else { char *value = trim(strsep(&buffer, "\n")); - wrapper = malloc(sizeof(ptr_wrapper_t)); - wrapper->ptr = NULL; - list_add(array_values, wrapper); - - wrapper = malloc(sizeof(ptr_wrapper_t)); - wrapper->ptr = strdup(value); - list_add(values, wrapper); + list_add(array_values, wrap_ptr(NULL)); + list_add(values, wrap_ptr(strdup(value))); } key = trim(strsep(&buffer, DELIM)); diff --git a/src/util.c b/src/util.c index 3b6909d..faa73c9 100644 --- a/src/util.c +++ b/src/util.c @@ -1,4 +1,5 @@ #include +#include #include #include @@ -25,3 +26,11 @@ trim(char *s) { return rtrim(ltrim(s)); } + +ptr_wrapper_t * +wrap_ptr(void *ptr) +{ + ptr_wrapper_t *wrapper = malloc(sizeof(ptr_wrapper_t)); + wrapper->ptr = ptr; + return wrapper; +} -- cgit v1.2.3