diff --git a/src/initialization/check_args.c b/src/initialization/check_args.c index 890015f..f07c3ce 100644 --- a/src/initialization/check_args.c +++ b/src/initialization/check_args.c @@ -6,7 +6,7 @@ /* By: reasuke +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 14:44:55 by reasuke #+# #+# */ -/* Updated: 2024/02/20 14:19:12 by reasuke ### ########.fr */ +/* Updated: 2024/03/27 13:07:53 by reasuke ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,8 +20,9 @@ static bool _has_not_digit(int argc, char **argv) i = 1; while (i < argc) { + errno = 0; ft_strtol(argv[i], &end_ptr, 10); - if (*end_ptr) + if (*end_ptr || errno) return (true); i++; } diff --git a/test/unit/test_check_args.cpp b/test/unit/test_check_args.cpp index c1b0050..5b0300a 100644 --- a/test/unit/test_check_args.cpp +++ b/test/unit/test_check_args.cpp @@ -39,6 +39,14 @@ TEST(check_args, OneArgumentNonDigit) { EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); } +TEST(check_args, OneArgumentEmptyString) { + int argc = 2; + const char *args[] = {"push_swap", ""}; + char **argv = const_cast(args); + + EXPECT_EXIT(check_args(argc, argv), ::testing::ExitedWithCode(1), "Error\n"); +} + TEST(check_args, OneArgumentIncludingNonDigit) { int argc = 2; const char *args[] = {"push_swap", "42abc"};