From 143f25cd9d24e5f0b2aa10f5c85a1477824b0ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Le=20Bihan?= Date: Sun, 24 May 2020 18:33:44 +0200 Subject: [PATCH] using internal var to set the exit code --- src/builtin/builtin_manager.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/builtin/builtin_manager.c b/src/builtin/builtin_manager.c index fbeae70..7ec053f 100644 --- a/src/builtin/builtin_manager.c +++ b/src/builtin/builtin_manager.c @@ -78,8 +78,10 @@ int builtin_exit(char **argv, env_t *env) { char *ptr = argv[1]; - if (!ptr) - exit(0); + if (!ptr) { + env->vars = my_setenv(env->vars, "?", "0"); + return (-1); + } if (argv[1][0] == '-') { ptr = &ptr[1]; } @@ -87,5 +89,6 @@ int builtin_exit(char **argv, env_t *env) dprintf(2, "exit: Expression Syntax.\n"); return (0); } - exit(atoi(argv[1])); + env->vars = my_setenv(env->vars, "?", argv[1]); + return (-1); } \ No newline at end of file