diff --git a/cv4/list_ops.c b/cv4/list_ops.c index 148e985..f066239 100644 --- a/cv4/list_ops.c +++ b/cv4/list_ops.c @@ -20,12 +20,13 @@ list_t *new_list(size_t length, list_element_t elements[]) { list_t *append_list(list_t *list1, list_t *list2) { size_t length1 = list1->length + list2->length; - list_t *list3 = new_list(length1, list1->elements); + list_t *list3 = new_list(length1, NULL); if (!list3) { return NULL; } + memcpy(list3->elements, list1->elements, list1->length * sizeof(list_element_t)); memcpy(list3->elements + list1->length, list2->elements, list2->length * sizeof(list_element_t)); - list3->length = list1->length + list2->length; + list3->length = length1; return list3; }