/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ps_rerot.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/21 16:32:04 by tmaze #+# #+# */ /* Updated: 2019/03/20 21:33:00 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" void ps_rerot(t_psdata *data, char c) { t_stack *s; t_stack *tmp; size_t *size; if (c == 'a') s = data->a; if (c == 'a') size = &(data->size_a); else if (c == 'b') s = data->b; if (c == 'b') size = &(data->size_b); if (s != NULL && *size > 2) { tmp = s->next; while (tmp->next != NULL) { tmp = tmp->next; s = s->next; } s->next = NULL; (*size)--; ps_stkpsh(data, c, tmp); } else if (s != NULL && *size == 2) ps_swap(data, c); } void ps_rrerot(t_psdata *data) { ps_rerot(data, 'a'); ps_rerot(data, 'b'); }