diff --git a/du6/list_ops.c b/du6/list_ops.c index e69de29..6353b30 100644 --- a/du6/list_ops.c +++ b/du6/list_ops.c @@ -0,0 +1,13 @@ +#include "list_ops.h" +#include + +list_t *new_list(size_t length, list_element_t elements[]) { + list_t *list = malloc(sizeof(list_t) + sizeof(list_element_t) * length); + if (!list) return NULL; + + list->length = length; + if (elements && length > 0) { + memcpy(list->elements, elements, sizeof(list_element_t) * length); + } + return list; +} \ No newline at end of file