summaryrefslogtreecommitdiff
path: root/command_handling.c
diff options
context:
space:
mode:
authorDominik Kaiser2024-04-16 09:28:12 +0200
committerDominik Kaiser2024-04-16 09:28:12 +0200
commitb0db3b8a7c4dd03c759fb88bed7d5ce1d41a6059 (patch)
tree00231a9b3150dfed20c000f2fd96b41c6e37b2fc /command_handling.c
parent4f288f94c8ec8ced5200d2e4e5713d9b119aed48 (diff)
downloadpush_swap-b0db3b8a7c4dd03c759fb88bed7d5ce1d41a6059.tar.gz
push_swap-b0db3b8a7c4dd03c759fb88bed7d5ce1d41a6059.zip
Simplify arguments into t_psdata
Diffstat (limited to 'command_handling.c')
-rw-r--r--command_handling.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/command_handling.c b/command_handling.c
index e4dc476..0b5f335 100644
--- a/command_handling.c
+++ b/command_handling.c
@@ -6,7 +6,7 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/13 14:38:47 by dkaiser #+# #+# */
-/* Updated: 2024/04/15 16:35:05 by dkaiser ### ########.fr */
+/* Updated: 2024/04/16 09:27:41 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
@@ -38,32 +38,31 @@ static void run_for_both(t_stack *stack_a, t_stack *stack_b,
f(stack_b);
}
-void run_command(t_stack *stack_a, t_stack *stack_b, t_list **cmds,
- enum e_pscmd cmd)
+void run_command(t_psdata *data, enum e_pscmd cmd)
{
if (cmd == SA)
- stack_swap(stack_a);
+ stack_swap(data->a);
else if (cmd == SB)
- stack_swap(stack_b);
+ stack_swap(data->b);
else if (cmd == SS)
- run_for_both(stack_a, stack_b, stack_swap);
+ run_for_both(data->a, data->b, stack_swap);
else if (cmd == PA)
- stack_push(stack_a, stack_b);
+ stack_push(data->a, data->b);
else if (cmd == PB)
- stack_push(stack_b, stack_a);
+ stack_push(data->b, data->a);
else if (cmd == RA)
- stack_rotate(stack_a);
+ stack_rotate(data->a);
else if (cmd == RB)
- stack_rotate(stack_b);
+ stack_rotate(data->b);
else if (cmd == RR)
- run_for_both(stack_a, stack_b, stack_rotate);
+ run_for_both(data->a, data->b, stack_rotate);
else if (cmd == RRA)
- stack_rrotate(stack_a);
+ stack_rrotate(data->a);
else if (cmd == RRB)
- stack_rrotate(stack_b);
+ stack_rrotate(data->b);
else if (cmd == RRR)
- run_for_both(stack_a, stack_b, stack_rrotate);
- add_cmd_to_queue(cmds, cmd);
+ run_for_both(data->a, data->b, stack_rrotate);
+ add_cmd_to_queue(&data->cmds, cmd);
}
static void print_cmd(void *ptr_cmd)