diff options
| author | Dominik Kaiser | 2024-04-15 12:04:00 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-04-15 12:04:00 +0200 |
| commit | 7209589e08fdfb591032da114b6bea8504a070fe (patch) | |
| tree | 58fe37a5940ae4f065c34ae0501dc28d1096258e | |
| parent | 3d5057371652145189cbf643d99f8628932e1615 (diff) | |
| download | push_swap-7209589e08fdfb591032da114b6bea8504a070fe.tar.gz push_swap-7209589e08fdfb591032da114b6bea8504a070fe.zip | |
Add error handling for stack optimization
| -rw-r--r-- | push_swap.h | 4 | ||||
| -rw-r--r-- | stack_optimization.c | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/push_swap.h b/push_swap.h index beadcd0..29d0e41 100644 --- a/push_swap.h +++ b/push_swap.h @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/12 16:59:09 by dkaiser #+# #+# */ -/* Updated: 2024/04/13 17:18:58 by dkaiser ### ########.fr */ +/* Updated: 2024/04/15 12:02:20 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -42,7 +42,7 @@ void run_command(t_list **stack_a, t_list **stack_b, t_list **cmds, enum e_pscmd cmd); void print_commands(t_list *cmds); -void stack_optimize(t_list **stack); +int stack_optimize(t_list **stack); void optimize_commands(t_list **cmds); void stack_sort(t_list **stack_a, t_list **stack_b, t_list **cmds); diff --git a/stack_optimization.c b/stack_optimization.c index f41b44a..2270896 100644 --- a/stack_optimization.c +++ b/stack_optimization.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/13 15:25:05 by dkaiser #+# #+# */ -/* Updated: 2024/04/13 16:33:23 by dkaiser ### ########.fr */ +/* Updated: 2024/04/15 12:03:44 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -54,7 +54,7 @@ static void override_stack(t_list **stack, int *tmp_array) } } -void stack_optimize(t_list **stack) +int stack_optimize(t_list **stack) { int size; int *tmp_array; @@ -65,7 +65,7 @@ void stack_optimize(t_list **stack) cur = *stack; tmp_array = malloc(size * sizeof(int)); if (!tmp_array) - ; // TODO: Error handling + return 1; i = 0; while (cur) { @@ -73,8 +73,12 @@ void stack_optimize(t_list **stack) cur = cur->next; } if (i != size) - ; // TODO: Error handling + { + free(tmp_array); + return 1; + } sort_array(size, tmp_array); i = 0; override_stack(stack, tmp_array); + return 0; } |
