diff --git a/checker_linux b/checker_linux deleted file mode 100755 index 002d593..0000000 Binary files a/checker_linux and /dev/null differ diff --git a/libft b/libft index 4ce5195..0289baf 160000 --- a/libft +++ b/libft @@ -1 +1 @@ -Subproject commit 4ce51959edefb1e886670e784f755571abdd9274 +Subproject commit 0289baf5351f0bb06a5777e31800ab06d88f3fb0 diff --git a/push_swap-testeur-max b/push_swap-testeur-max deleted file mode 160000 index 84c59f1..0000000 --- a/push_swap-testeur-max +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 84c59f165a5665df9cddac803367e6b90fb49a25 diff --git a/push_swap_tester b/push_swap_tester deleted file mode 160000 index 317339a..0000000 --- a/push_swap_tester +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 317339a8b6ada29f9bc263a24fd640ee63036539 diff --git a/src/main.c b/src/main.c index 478955f..19214b1 100644 --- a/src/main.c +++ b/src/main.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/04 12:14:22 by adjoly #+# #+# */ -/* Updated: 2024/03/13 14:44:42 by adjoly ### ########.fr */ +/* Updated: 2024/03/16 20:07:36 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,8 @@ void check_invalid_char(char **av) tmp_args = *tmp; while (*tmp_args) { - if (!ft_isdigit(*tmp_args) && *tmp_args != '-' && *tmp_args != '+' && *tmp_args != 32) + if (!ft_isdigit(*tmp_args) && *tmp_args != '-' \ + && *tmp_args != '+' && *tmp_args != 32) ft_senderror(); tmp_args++; } @@ -32,7 +33,6 @@ void check_invalid_char(char **av) } } - void check_double(t_stack **stack) { t_stack *tmp; @@ -55,6 +55,53 @@ void check_double(t_stack **stack) } } +void check_sign(char **av) +{ + char **tmp; + char *tmp_av; + + tmp = av; + tmp++; + while (*tmp) + { + tmp_av = *tmp; + while (*tmp_av) + { + if ((*tmp_av == '-' || *tmp_av == '+') \ + && !ft_isdigit(*(tmp_av + 1))) + ft_senderror(); + if ((*tmp_av == '-' || *tmp_av == '+') && ft_isdigit(*(tmp_av - 1))) + ft_senderror(); + tmp_av++; + } + tmp++; + } +} + +void check_empty_args(char **av) +{ + char **tmp; + char *tmp_av; + + tmp = av; + tmp++; + while (*tmp) + { + tmp_av = *tmp; + if (!*tmp_av) + ft_senderror(); + while (*tmp_av) + { + if (*tmp_av != 32) + break ; + tmp_av++; + } + if (!*tmp_av) + ft_senderror(); + tmp++; + } +} + int main(int ac, char **av) { t_stack *stack_a; @@ -62,7 +109,9 @@ int main(int ac, char **av) if (ac < 2) return (EXIT_SUCCESS); + check_empty_args(av); check_invalid_char(av); + check_sign(av); stack_b = NULL; stack_a = ft_parsing(av); if (ft_stacksize(stack_a) <= 1) diff --git a/src/mouv b/src/mouv deleted file mode 100644 index d24d848..0000000 --- a/src/mouv +++ /dev/null @@ -1,8 +0,0 @@ -1 2 3 -3 2 1 ra ra - -2 3 1 rra -1 3 2 rra sa - -3 1 2 ra -2 1 3 sa diff --git a/src/parsing.c b/src/parsing.c index f8e87e6..d1da6f2 100644 --- a/src/parsing.c +++ b/src/parsing.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/02/04 12:05:43 by adjoly #+# #+# */ -/* Updated: 2024/03/13 13:05:17 by adjoly ### ########.fr */ +/* Updated: 2024/03/16 15:13:43 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/src/utils/print_error.c b/src/utils/print_error.c index 299064f..75f145d 100644 --- a/src/utils/print_error.c +++ b/src/utils/print_error.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/03/11 15:47:05 by adjoly #+# #+# */ -/* Updated: 2024/03/11 15:54:09 by adjoly ### ########.fr */ +/* Updated: 2024/03/16 19:01:15 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,6 @@ void ft_senderror(void) { - ft_putendl_fd("Error", STDOUT_FILENO); + ft_putendl_fd("Error", STDERR_FILENO); exit(EXIT_FAILURE); }