diff options
Diffstat (limited to '')
-rw-r--r-- | src/b_exit.c (renamed from src/ft_b_exit.c) | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/ft_b_exit.c b/src/b_exit.c index 7a7e5e8..5384d25 100644 --- a/src/ft_b_exit.c +++ b/src/b_exit.c @@ -1,7 +1,7 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ft_b_exit.c :+: :+: :+: */ +/* b_exit.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ @@ -15,22 +15,22 @@ #include <stdint.h> #include <unistd.h> -#include "ft_f_fail.h" -#include "ft_s_lcom.h" -#include "ft_s_destroy.h" -#include "ft_s_struct.h" -#include "ft_u_utils.h" +#include "f_fail.h" +#include "s_lcom.h" +#include "s_destroy.h" +#include "s_struct.h" +#include "u_utils.h" uint8_t - ft_b_exit(char *args[], + b_exit(char *args[], t_msh *msh) { uint8_t ret; - const uint64_t argc = ft_get_argc((const char**)args); + const uint64_t argc = u_builtins_get_argc((const char**)args); if (argc > 1) { - ft_fail_too_many_args("exit", msh); + f_fail_too_many_args("exit", msh); return (1); } if (argc == 1) @@ -38,6 +38,11 @@ uint8_t ret = ft_atoi(args[0]); /* TODO: non numeric args[0] */ } + else + ret = msh->ret; ft_dprintf(STDERR_FILENO, "exit\n"); + lcom_clear(&msh->curr); + s_destroy(msh); + exit(ret); return (0); } |