]> git.dkaiser.de - 42/push_swap.git/commitdiff
Add error handling for stack optimization
authorDominik Kaiser <dominik@dominik-XPS.fritz.box>
Mon, 15 Apr 2024 10:04:00 +0000 (12:04 +0200)
committerDominik Kaiser <dominik@dominik-XPS.fritz.box>
Mon, 15 Apr 2024 10:04:00 +0000 (12:04 +0200)
push_swap.h
stack_optimization.c

index beadcd0ea3ecbd0043efd790bfa411941b92e0d4..29d0e414af64a2f3392eaa3c9d9e4a039759a87b 100644 (file)
@@ -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);
index f41b44ab0efd07109c38fc19fa3aefe3c31e6707..227089661d71b3aa26db7840127be333f1d775b5 100644 (file)
@@ -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;
 }