From afcddc5e146dc802dca1aa57c78ba0f9a19f1422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kha=C3=AFs=20COLIN?= Date: Sat, 19 Oct 2024 18:11:30 +0200 Subject: [PATCH] ft_atoi: correctly handle +/- at start --- ft_atoi.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ft_atoi.c b/ft_atoi.c index 60aa4f3..6474db1 100644 --- a/ft_atoi.c +++ b/ft_atoi.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/10/16 16:06:11 by kcolin #+# #+# */ -/* Updated: 2024/10/18 17:58:42 by kcolin ### ########.fr */ +/* Updated: 2024/10/19 17:59:34 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,18 +29,26 @@ int ft_atoi(const char *nptr) { int result; int i; + int sign; result = 0; i = 0; + sign = 1; while (ft_isspace(nptr[i])) i++; + if (nptr[i] == '+' || nptr[i] == '-') + { + if (nptr[i] == '-') + sign = -1; + i++; + } while (ft_isdigit(nptr[i])) { result *= 10; result += nptr[i] - '0'; i++; } - return (result); + return (result * sign); } /*