From ad855e59151d1295bcbb1118032bebb067cb9c6a Mon Sep 17 00:00:00 2001 From: Maoake Teriierooiterai Date: Fri, 9 Jan 2026 14:57:05 +0100 Subject: [PATCH] fixing some issues on the checker error and need to fix a last thing on the bucket range algo --- algorithms/medium/utils_medium.c | 5 +++++ checker/verif_is_digit.c | 2 ++ checker/verif_overflow.c | 9 +++++++++ flags/algorithms_sort.c | 4 +++- 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/algorithms/medium/utils_medium.c b/algorithms/medium/utils_medium.c index 5b78da6..c9307a6 100644 --- a/algorithms/medium/utils_medium.c +++ b/algorithms/medium/utils_medium.c @@ -43,6 +43,8 @@ int get_next_lower(t_stack *first, int old_lower) if (old_lower < tmp->value && tmp->value <= next_lower) { next_lower = tmp->value; + if (next_lower == -2147483648) + return (next_lower); } tmp = tmp->next; } @@ -53,7 +55,10 @@ int calcul_range(int value, int range) { int max_range; + max_range = 0; + if (value == 2147483647) + return (value); if (value < 0) while (max_range > value) max_range -= range; diff --git a/checker/verif_is_digit.c b/checker/verif_is_digit.c index 65b4e0a..9bbd134 100644 --- a/checker/verif_is_digit.c +++ b/checker/verif_is_digit.c @@ -21,6 +21,8 @@ static int scan_str_is_digit(char *tab) { if (!ft_isdigit(tab[i]) && (tab[i] == '-' && !ft_isdigit(tab[i + 1]))) return (0); + if (tab[i] == '+' && !ft_isdigit(tab[i + 1])) + return (0); i++; } return (1); diff --git a/checker/verif_overflow.c b/checker/verif_overflow.c index d9aa159..c9518c7 100644 --- a/checker/verif_overflow.c +++ b/checker/verif_overflow.c @@ -12,6 +12,13 @@ #include "parsing.h" +// static int calcul_sign(char c) +// { +// if (c == '-') +// return (-1); +// return (1); +// } + static int verif_atoi(const char *nptr) { size_t i; @@ -21,6 +28,8 @@ static int verif_atoi(const char *nptr) i = 0; tmp = 0; before = 0; + if (ft_strncmp("-2147483648", nptr, 12)) + return (1); while ((nptr[i] >= 9 && nptr[i] <= 13) || nptr[i] == ' ') i++; if (nptr[i] == '-' || nptr[i] == '+') diff --git a/flags/algorithms_sort.c b/flags/algorithms_sort.c index c91c614..fbdef72 100644 --- a/flags/algorithms_sort.c +++ b/flags/algorithms_sort.c @@ -48,6 +48,8 @@ void complex(t_stacks *stacks) void adaptive(t_stacks *stacks) { - (void)stacks; + //simple(stacks); + medium(stacks); + //complex(stacks); return ; }