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