/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ps_stktools.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/22 14:41:27 by tmaze #+# #+# */ /* Updated: 2019/02/23 13:30:09 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" t_stack *ps_stknew(int nb) { t_stack *ret; if ((ret = (t_stack*)ft_memalloc(sizeof(t_stack))) != NULL) { ret->nb = nb; ret->next = NULL; } return (ret); } void *ps_stkpsh(t_stack **s, t_stack *new) { t_stack *ind; if (s != NULL && *s == NULL) *s = new; else if (s != NULL) { ind = *s; *s = new; new->next = ind; } } t_stack *ps_stkpop(t_stack **s) { t_stack *ret; ret = NULL; if (s != NULL && *s != NULL) { ret = *s; *s = ret->next; } return (ret); } void ft_lstdelstr(void *content, size_t content_size) { ft_strdel(&content); content_size = 0; } void ps_stkclean(t_psdata *data) { t_stack *tmp; tmp = data->a; while (data->a != NULL) { tmp = data->a; data->a = data->a->next; ft_memedel(&tmp); data->size_a--; } tmp = data->b; while (data->b != NULL) { tmp = data->b; data->b = data->b->next; ft_memedel(&tmp); data->size_b--; } ft_lstdel(&op, &ft_lstdelstr); }