Push_swap/s_list.c
2022-01-15 23:49:27 +01:00

73 lines
1.7 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* s_list.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/01/09 18:46:50 by apommier #+# #+# */
/* Updated: 2022/01/09 18:46:50 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
#include "push_swap.h"
s_list *new_slist(void *content)
{
s_list *new;
new = (s_list*)malloc(sizeof(s_list));
if (!new)
return (0);
new->action = content;
new->next = 0;
return (new);
}
void s_lstclear(s_list **lst)
{
s_list *chr;
chr = *lst;
while (*lst)
{
chr = (*lst)->next;
free(*lst);
*lst = chr;
}
lst = 0;
}
void s_lstadd_back(s_list **alst, s_list *new)
{
if (*alst == 0)
*alst = new;
else
s_lstlast(*alst)->next = new;
new->next = 0;
}
s_list *s_lstlast(s_list *lst)
{
if (!lst)
return (0);
while (lst->next)
{
//printf("test lst = %s\n", (char*)lst->action);
lst = lst->next;
}
return (lst);
}
void printf_slist(s_list *start)
{
int i = 0;
while(start)
{
i++;
ft_putstr_fd((char*)start->action, 1);
start = start->next;
}
return;
}