aboutsummaryrefslogtreecommitdiff
path: root/src/common/action.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-18 12:11:36 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-18 12:11:36 +0100
commit5e0e41652315114a8b0d883c473dbbbfc1c28342 (patch)
tree8e1440ccf9d686294c05c6f8b5907fe90ba4fda8 /src/common/action.c
parent2d34349b54a9fed4d34c96bdbec5172f7695cf60 (diff)
downloadpush_swap-5e0e41652315114a8b0d883c473dbbbfc1c28342.tar.gz
push_swap-5e0e41652315114a8b0d883c473dbbbfc1c28342.tar.bz2
push_swap-5e0e41652315114a8b0d883c473dbbbfc1c28342.zip
filled action functions (propably bloat), checker working, stack functions not so much
Diffstat (limited to 'src/common/action.c')
-rw-r--r--src/common/action.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/common/action.c b/src/common/action.c
index bfbe436..c095e59 100644
--- a/src/common/action.c
+++ b/src/common/action.c
@@ -2,55 +2,71 @@
void swap_a(t_stack *a)
{
-
+ stack_swap(a);
}
void swap_b(t_stack *b)
{
-
+ stack_swap(b);
}
void swap_both(t_stack *a, t_stack *b)
{
-
+ swap_a(a);
+ swap_b(b);
}
void push_a(t_stack *a, t_stack *b)
{
+ int tmp;
+ if (stack_empty(b))
+ return ;
+ tmp = stack_peek(b);
+ stack_pop(b);
+ stack_push(a, tmp);
}
void push_b(t_stack *b, t_stack *a)
{
+ int tmp;
+
+ if (stack_empty(a))
+ return ;
+ tmp = stack_peek(a);
+ stack_pop(a);
+ stack_push(b, tmp);
}
void rotate_a(t_stack *a)
{
-
+ stack_rotate(a);
}
void rotate_b(t_stack *b)
{
-
+ stack_rotate(b);
}
void rotate_both(t_stack *a, t_stack *b)
{
-
+ rotate_a(a);
+ rotate_b(b);
}
void reverse_rotate_a(t_stack *a)
{
-
+ stack_reverse_rotate(a);
}
void reverse_rotate_b(t_stack *b)
{
-
+ stack_reverse_rotate(b);
}
void reverse_rotate_both(t_stack *a, t_stack *b)
{
-
+ reverse_rotate_a(a);
+ reverse_rotate_b(b);
}