diff options
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -6,7 +6,7 @@ /* By: cacharle <cacharle@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/28 11:45:44 by cacharle #+# #+# */ -/* Updated: 2020/09/16 16:14:21 by charles ### ########.fr */ +/* Updated: 2020/09/16 16:28:47 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,7 +31,9 @@ int debug_lexer(char *input); char *g_progname = "minishell"; -int execute(t_env env, char *input) +t_state g_state; + +int execute(t_env env, char *input) { t_tok_lst *lexer_out; int status; @@ -49,11 +51,11 @@ int execute(t_env env, char *input) status = eval(fds, env, parser_out->ast, NULL, FD_NONE); if (status == EVAL_FATAL) exit(1); - g_last_status = status; + g_state.last_status = status; return (status); } -int repl(t_env env) +int repl(t_env env) { int ret; char *line; @@ -77,7 +79,7 @@ int repl(t_env env) #ifndef MINISHELL_TEST -int main(int argc, char **argv, char **envp) +int main(int argc, char **argv, char **envp) { t_env env; @@ -89,29 +91,29 @@ int main(int argc, char **argv, char **envp) if ((env = env_from_array(envp)) == NULL) return (1); setup(argv[0], env); - g_last_status = 0; + g_state.child_pid = 0; repl(env); ft_vecdestroy(env, free); - return (g_last_status); + return (g_state.last_status); } #else -int main(int argc, char **argv, char **envp) +int main(int argc, char **argv, char **envp) { t_env env; if ((env = env_from_array(envp)) == NULL) return (1); setup(argv[0], env); - g_last_status = 0; + g_state.last_status = 0; if (argc == 3 && ft_strcmp(argv[1], "-l") == 0) return (debug_lexer(argv[2])); if (argc == 3 && ft_strcmp(argv[1], "-c") == 0) return (execute(env, argv[2])); repl(env); ft_vecdestroy(env, free); - return (g_last_status); + return (g_state.last_status); } #endif |
