From 925c50a9b094f6d244b621c8750d5ecf0caa38a1 Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Fri, 12 Apr 2024 20:51:04 +0200 Subject: Add error handling and create base for commands --- stack_utils.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 stack_utils.c (limited to 'stack_utils.c') diff --git a/stack_utils.c b/stack_utils.c new file mode 100644 index 0000000..7a22b47 --- /dev/null +++ b/stack_utils.c @@ -0,0 +1,54 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* stack_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dkaiser next; + first_elem->next = (*stack)->next; + (*stack)->next = first_elem; +} + +void stack_push(t_list **dst_stack, t_list **src_stack) +{ + t_list *elem; + + elem = *src_stack; + *src_stack = elem->next; + ft_lstadd_front(dst_stack, elem); +} + +void stack_rotate(t_list **stack) +{ + t_list *first_elem; + + first_elem = *stack; + *stack = (*stack)->next; + first_elem->next = NULL; + ft_lstlast(*stack)->next = first_elem; +} + +void stack_rrotate(t_list **stack) +{ + t_list *first_elem; + + first_elem = *stack; + while((*stack)->next->next) + *stack = (*stack)->next; + (*stack)->next->next = first_elem; + (*stack)->next = NULL; +} -- cgit v1.2.3