Files
ft_ping/srcs/waitlist_utils.c

64 lines
1.6 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* waitlist_utils.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/01 17:38:58 by tomoron #+# #+# */
/* Updated: 2025/05/02 01:06:21 by tomoron ### ########.fr */
/* */
/* ************************************************************************** */
#include "includes/ft_ping.h"
void waitlist_add(t_waitlist **waitlist, t_waitlist *elem)
{
t_waitlist *cur;
cur = *waitlist;
while(cur && cur->next)
cur = cur->next;
if(cur)
cur->next = elem;
else
*waitlist = elem;
}
void waitlist_free(t_waitlist *lst)
{
t_waitlist *tmp;
while(lst)
{
tmp = lst->next;
free(lst);
lst = tmp;
}
}
void waitlist_remove(t_waitlist **lst, uint16_t seq, t_settings *set, t_stats *stats)
{
t_waitlist *prev;
t_waitlist *cur;
prev = 0;
cur = *lst;
while(cur && cur->seq != seq)
{
printf("%d, %d\n", cur->seq, seq);
prev = cur;
cur = cur->next;
}
if(!cur)
return ;
if(!prev)
*lst = cur->next;
else
prev->next = cur->next;
show_ping_res_line(cur, set, seq, stats);
free(cur);
}