feat: added missing lstrm
This commit is contained in:
parent
b14dc557e2
commit
93da2c9ca6
1 changed files with 24 additions and 0 deletions
24
srcs/lst/ft_lstrm.c
Normal file
24
srcs/lst/ft_lstrm.c
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#include "libft.h"
|
||||||
|
|
||||||
|
void ft_lstrm(t_list **lst, void *data, int (*cmp)(void *, void *), void (*del)(void *))
|
||||||
|
{
|
||||||
|
t_list *curr = *lst;
|
||||||
|
t_list *prev = NULL;
|
||||||
|
|
||||||
|
while (curr)
|
||||||
|
{
|
||||||
|
if (cmp(curr->data, data) == 0)
|
||||||
|
{
|
||||||
|
if (prev)
|
||||||
|
prev->next = curr->next;
|
||||||
|
else
|
||||||
|
*lst = curr->next;
|
||||||
|
if (del)
|
||||||
|
del(curr->data);
|
||||||
|
free(curr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
prev = curr;
|
||||||
|
curr = curr->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue