aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-07-29 21:51:58 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-07-29 21:51:58 +0530
commit2b2c8a0ad2dc9a087bdb3987ecfc126ff9500914 (patch)
treeab8e1411a6098df5bf8d118c413a8ec59fccf342
parent8b9ea72453ad2092e0a2a85bda70851bf171dfea (diff)
list: create list_wrap_and_add()
-rw-r--r--include/list.h1
-rw-r--r--src/list.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/include/list.h b/include/list.h
index 9f486b0..65c10d0 100644
--- a/include/list.h
+++ b/include/list.h
@@ -16,6 +16,7 @@ typedef struct {
list_t *list_create(size_t element_size);
void list_add(list_t *list, void *element);
+void list_wrap_and_add(list_t *list, void *element);
void *list_get(list_t *list, size_t i);
void list_delete(list_t *list);
void *list_find_corresponding_value_from_ptr_wrapper(list_t *keys,
diff --git a/src/list.c b/src/list.c
index 69b3208..ba418e6 100644
--- a/src/list.c
+++ b/src/list.c
@@ -44,6 +44,15 @@ list_add(list_t *list, void *element)
list->size++;
}
+void
+list_wrap_and_add(list_t *list, void *element)
+{
+
+ ptr_wrapper_t *wrapped = wrap_ptr(element);
+ list_add(list, wrapped);
+ free(wrapped);
+}
+
void *
list_get(list_t *list, size_t i)
{