/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ps_rot.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/21 16:07:55 by tmaze #+# #+# */ /* Updated: 2019/02/23 15:19:59 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ #include "push_swap.h" void ps_rot(t_psdata *data, char c) { t_stack *s; t_stack *tmp; t_stack *ind; 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 = ps_stkpop(s); ind = *s; while (ind->next != NULL) ind = ind->next; ind->next = tmp; } else if (*s != NULL && size == 2) ps_swap(s); } void ps_rrot(t_psdata *data) { ps_rot(data, 'a'); ps_rot(data, 'b'); }