From 8158998fbb6f406f837d7d53eb795ecb2c3a5cf3 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 5 Aug 2025 09:44:28 +0200 Subject: [PATCH] fix: exit was not behaving properly when executed with multiple arguments and message was not being printed on a separate line --- src/builtins/exit.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/builtins/exit.c b/src/builtins/exit.c index d8cd625..5afea00 100644 --- a/src/builtins/exit.c +++ b/src/builtins/exit.c @@ -6,7 +6,7 @@ /* By: sede-san 1) + else { - if (!ft_isdigit(*argv[1]) || !ft_strisnum(argv[1])) + if (!ft_strisnum(argv[1])) { - fprintf(stderr, "exit: %s: numeric argument required", argv[1]); + fprintf(stderr, "exit: %s: numeric argument required\n", argv[1]); exit_code = 2; } - else + else if (argc > 2) { - fprintf(stderr, "exit: too many arguments"); + fprintf(stderr, "exit: too many arguments\n"); exit_code = -1; } + else + exit_code = (unsigned int)((unsigned char)(ft_atol(argv[1]))); } - else - exit_code = (unsigned int)((unsigned char)(ft_atol(argv[1]))); return (exit_code); }