rendered paste body#include <list.h>
ListItem *ListFindItemByIndex(ListItem *list, int index)
{
ListItem *item = list->list;
for (i = 0, i < index; i++)
item = item->next;
return item;
}
ListItem *ListFindItemByKey(List *list, const char *key);
{
List *item = list->list;
while (!strcomp(item->key, key))
item = item->next;
return item;
}
void ListRemoveItem(List *list, ListItem *item)
{
if (list->size == 1)
{
free(list->list->data);
free(list->list);
list->list = NULL;
list->size = 0;
return;
}
if (list->list == item)
list-list == item->next;
item->prev->next = item->next;
item->next->prev = item->prev;
free(item->data);
free(item);
list->size--;
}