diff --git a/src/main.c b/src/main.c index 7ab9cc0..c0a5c36 100644 --- a/src/main.c +++ b/src/main.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:19:22 by whaffman #+# #+# */ -/* Updated: 2025/02/28 17:03:02 by whaffman ######## odam.nl */ +/* Updated: 2025/03/01 11:01:03 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -59,56 +59,6 @@ static void main_loop(t_minishell *msh) } } -static int redirect_stdout_stderr(t_minishell *msh, char *file_out) -{ - int fd_out; - int fd_log; - - fd_out = open(file_out, O_WRONLY | O_CREAT | O_TRUNC, 0644); - if (fd_out < 0) - return (error_msg("open", "redirect_stdout"), FAILURE); - fd_log = open("minishell.log", O_WRONLY | O_CREAT | O_TRUNC, 0644); - if (fd_log < 0) - return (error_msg("open", "redirect_stderr"), FAILURE); - if (dup2(fd_out, STDOUT_FILENO) == -1) - return (error_msg("dup2", "redirect_stdout"), FAILURE); - if (dup2(fd_log, STDERR_FILENO) == -1) - return (error_msg("dup2", "redirect_stderr"), FAILURE); - close(fd_out); - close(fd_log); - return (SUCCESS); -} -static int main_loop_from_file(t_minishell *msh, - char *file_in, char *file_out) -{ - int fd_in; - int i; - - i = 1; - fd_in = open(file_in, O_RDONLY); - if (fd_in < 0) - return (error_msg("open", "main_loop_from_file"), FAILURE); - if (redirect_stdout_stderr(msh, file_out) == FAILURE) - return (FAILURE); - while (TRUE) - { - msh->line = get_next_line(fd_in); - if (msh->line == NULL) - break ; - printf("%d:> %s", i, msh->line); - fprintf(stderr, "%d:> %s", i, msh->line); - msh->lexer = ft_lexer_new(msh); - msh->tokens = ft_parse_input(msh); - msh->commands = parser_get_commands(msh); - simple_builtins(msh); - free_minishell_line(msh); - i++; - } - close(fd_in); - close(STDOUT_FILENO); - return (SUCCESS); -} - int main(int argc, char **argv, char **envp) { t_minishell *msh; @@ -120,10 +70,7 @@ int main(int argc, char **argv, char **envp) msh = init_minishell(); signal_init_minishell(); environment_parse(msh, envp); - if (argc == 1) - main_loop(msh); - else if (argc == 3) - main_loop_from_file(msh, argv[1], argv[2]); + main_loop(msh); free_minishell(&msh); rl_clear_history(); return (EXIT_SUCCESS);