aboutsummaryrefslogtreecommitdiff
path: root/src/checker/check.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/checker/check.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/checker/check.c')
-rw-r--r--src/checker/check.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/checker/check.c b/src/checker/check.c
index b1ef4ca..35bd992 100644
--- a/src/checker/check.c
+++ b/src/checker/check.c
@@ -6,14 +6,12 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/01/18 10:16:08 by cacharle #+# #+# */
-/* Updated: 2020/01/18 10:52:42 by cacharle ### ########.fr */
+/* Updated: 2020/01/18 12:04:41 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include "checker.h"
-#define ACTION_ID_BUF_SIZE 4
-
t_status check(t_stack *a, t_stack *b)
{
t_status read_status;
@@ -46,27 +44,29 @@ t_status read_action(t_stack *a, t_stack *b)
return (ret == 0 ? STATUS_EOF : STATUS_ERROR);
}
-t_action g_actions[] = {
+static t_action g_actions[] = {
{"sa", FLAG_ARG_A, {.arg_1 = &swap_a}},
{"sb", FLAG_ARG_B, {.arg_1 = &swap_b}},
{"ss", FLAG_ARG_A_B, {.arg_2 = &swap_both}},
- {"pa", FLAG_ARG_A_B, {.arg_2 = push_a}},
- {"pb", FLAG_ARG_B_A, {.arg_2 = push_a}},
- {"ra", FLAG_ARG_A, {.arg_1 = rotate_a}},
- {"rb", FLAG_ARG_B, {.arg_1 = rotate_b}},
- {"rr", FLAG_ARG_A_B, {.arg_2 = rotate_both}},
- {"rra", FLAG_ARG_A, {.arg_1 = reverse_rotate_a}},
- {"rrb", FLAG_ARG_B, {.arg_1 = reverse_rotate_b}},
- {"rrr", FLAG_ARG_A_B, {.arg_2 = reverse_rotate_both}},
+ {"pa", FLAG_ARG_A_B, {.arg_2 = &push_a}},
+ {"pb", FLAG_ARG_B_A, {.arg_2 = &push_a}},
+ {"ra", FLAG_ARG_A, {.arg_1 = &rotate_a}},
+ {"rb", FLAG_ARG_B, {.arg_1 = &rotate_b}},
+ {"rr", FLAG_ARG_A_B, {.arg_2 = &rotate_both}},
+ {"rra", FLAG_ARG_A, {.arg_1 = &reverse_rotate_a}},
+ {"rrb", FLAG_ARG_B, {.arg_1 = &reverse_rotate_b}},
+ {"rrr", FLAG_ARG_A_B, {.arg_2 = &reverse_rotate_both}},
};
#define ACTIONS_SIZE (sizeof(g_actions) / sizeof(t_action))
-t_status exec_action(char action_id[ACTION_ID_BUF_SIZE], t_stack *a, t_stack *b)
+t_status exec_action(char action_id[ACTION_ID_BUF_SIZE],
+ t_stack *a, t_stack *b)
{
int i;
-
- i = -1;
+
+ printf("action id %s\n", action_id);
+ i = 0;
while (ft_strcmp(action_id, g_actions[i].id) != 0)
i++;
if (i == ACTIONS_SIZE)
@@ -80,7 +80,7 @@ t_status exec_action(char action_id[ACTION_ID_BUF_SIZE], t_stack *a, t_stack *b)
return (STATUS_SUCCESS);
}
-t_bool stack_sorted(t_stack *stack)
+t_bool stack_sorted(t_stack *stack)
{
int i;