#include <libft.h>
#include "list2.h"
void list2_insert(
t_list2_meta *meta,
t_list2_conn *prev,
t_list2_conn *new)
{
new->prev = prev;
if (new->prev)
{
new->next = new->prev->next;
new->prev->next = new;
if (new->next != NULL)
new->next->prev = new;
else
meta->last = new;
}
else
{
new->next = meta->first;
if (new->next)
new->next->prev = new;
meta->first = new;
if (meta->last == NULL)
meta->last = new;
}
meta->len++;
}
void list2_unlink(
t_list2_meta *meta,
t_list2_conn *conn)
{
if (meta->first == conn)
meta->first = conn->next;
if (meta->last == conn)
meta->last = conn->prev;
if (conn->prev)
conn->prev->next = conn->next;
if (conn->next)
conn->next->prev = conn->prev;
meta->len--;
}