int list_get(link_t* head, unsigned index) {
if (index < list_count(head)) {
- for (int i = 0; i < index; i++) {
+ for (unsigned i = 0; i < index; i++) {
head = head->next;
}
return head->value;
}
void list_clear(link_t* link) {
- free(link);
+
+ while (link != NULL) {
+ link_t* next_link = link->next;
+ free(link);
+ link = next_link;
+ }
}
int main() {