diff --git a/cv4/list_ops.c b/cv4/list_ops.c index 11168cd..4350f85 100644 --- a/cv4/list_ops.c +++ b/cv4/list_ops.c @@ -18,7 +18,7 @@ list_t *new_list(size_t length, list_element_t elements[]) { list_t *append_list(list_t *list1, list_t *list2) { - size_t length = list1->length + list2->length; + size_t length = (list1->length + list2->length); list_t *list3 = new_list(list1->length + list2->length,list1->elements); list3->length = length; for (size_t i = list1->length; i < list3->length; i++) @@ -27,7 +27,7 @@ list_t *append_list(list_t *list1, list_t *list2) } list_t *filter_list(list_t *list, bool (*predicate)(list_element_t)) { - list_element_t filter[list->length]; + list_element_t *filter[list->length]; size_t filter_length = 0; for(size_t i = 0; i < list->length;i++){ if(predicate(list->elements[i])){ @@ -49,19 +49,16 @@ size_t length_list(list_t *list) { list_t *map_list(list_t *list, list_element_t (*mapper)(list_element_t)) { list_t *result = new_list(list->length, list->elements); - if (result == NULL) { + if (result == NULL) { return NULL; } - - for (size_t i = 0; i < list->length; i++) { + for (size_t i = 0; i < list->length; i++) { result->elements[i] = mapper(list->elements[i]); } return result; } - - list_element_t foldl_list(list_t *list, list_element_t initial, list_element_t (*folder)(list_element_t, list_element_t)) { list_element_t result = initial; for (size_t i = 0; i < list->length; i++) {