From 876c75bb9275947833181fd7021ae2a74d5d52fc Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Tue, 7 Mar 2023 17:48:18 +0100 Subject: [PATCH] fix: heredoc is now rightly implemented (no fork, ctrl + c support, ctrl + d support) --- .nfs00000000098c82b80000065f | Bin 0 -> 115072 bytes .nfs00000000098c82ed00000153 | Bin 112272 -> 0 bytes heredoc.c | 66 ++++++++++++++++------------------- infile.c | 44 +++++++++++------------ main.c | 7 ++-- minishell.h | 2 +- 6 files changed, 56 insertions(+), 63 deletions(-) create mode 100755 .nfs00000000098c82b80000065f delete mode 100755 .nfs00000000098c82ed00000153 diff --git a/.nfs00000000098c82b80000065f b/.nfs00000000098c82b80000065f new file mode 100755 index 0000000000000000000000000000000000000000..baed54c479014a2e0a2316e72880950939a30772 GIT binary patch literal 115072 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≫#rv+Mkh$n;*p$PdOn|H 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 z

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 B;(Gu9 diff --git a/heredoc.c b/heredoc.c index cc9ae71..3c58229 100644 --- a/heredoc.c +++ b/heredoc.c @@ -13,54 +13,48 @@ #include "libftx/libftx.h" #include "minishell.h" #include +#include int *ft_get_heredoc() { - static int heredoc; + static int heredoc = -1; return (&heredoc); } -int ft_heredoc_creator(char *stop, int fd) +int ft_heredoc(t_data *data, char *stop) { char *line; - - line = readline("> "); - while (line != NULL) - { - if (ft_strcmp(line, stop) == 0) - break ; - ft_putendl_fd(line, fd); - free(line); - line = readline("> "); - if (line == NULL) - return (1); - } - return (0); -} - -int ft_heredoc(char *stop) -{ - int pid; + char *line_clean; int fds[2]; - int exit_code; if (pipe(fds) == -1) - return (-1); - pid = fork(); - if (pid == -1) - return (-1); - if (pid == 0) + return (-2); + *ft_get_heredoc() = dup(0); + ft_printf("> "); + line = get_next_line(*ft_get_heredoc()); + while (line != NULL) { - exit_code = ft_heredoc_creator(stop, fds[1]); - exit (exit_code + 1); - } - else - { - *ft_get_heredoc() = pid; - waitpid(pid, &exit_code, 0); - *ft_get_heredoc() = 0; - close(fds[1]); - return (fds[0]); + line[ft_strlen(line) - 1] = '\0'; + if (ft_strcmp(line, stop) == 0) + { + free(line); + break ; + } + line_clean = ft_env_filler(data, line); + free(line); + ft_putendl_fd(line_clean, fds[1]); + free(line_clean); + ft_printf("> "); + line = get_next_line(*ft_get_heredoc()); + if (line == NULL && *ft_get_heredoc() == -1) + { + close(fds[0]); + close(fds[1]); + return (-2); + } } + close(fds[1]); + *ft_get_heredoc() = -1; + return (fds[0]); } diff --git a/infile.c b/infile.c index 2f17bc8..a0a10dc 100644 --- a/infile.c +++ b/infile.c @@ -10,16 +10,14 @@ /* */ /* ************************************************************************** */ -#include "libftx/libftx.h" #include "minishell.h" -#include "utils/utils.h" -#include static int ft_infile_is_valid(t_data *data, const char *line) { char **tab; char *path; ssize_t i; + int return_code; tab = ft_split_quoted(line, ' '); if (tab == NULL) @@ -29,34 +27,34 @@ static int ft_infile_is_valid(t_data *data, const char *line) } if (tab[0] == NULL) return (1); + return_code = 1; i = -1; - while (tab[++i] != NULL) + while (tab[++i] != NULL && return_code == 1) { if (tab[i][0] == '<') { - path = ft_env_filler(data, tab[i + 1]); - if (path == NULL) - return (0); - ft_quote_remover(path); - if (ft_file_is_readable(path) == 0) + if (ft_strcmp(tab[i], "<") == 0) { - data->exit_code = 1; - free(path); - ft_freer_tab_ultimate(1, tab); - return (0); + path = ft_env_filler(data, tab[i + 1]); + if (path == NULL) + return_code = 0; + ft_quote_remover(path); + free(tab[i + 1]); + tab[i + 1] = path; + if (ft_file_is_readable(tab[i + 1]) == 0) + { + data->exit_code = 1; + return_code = -1; + } } - if (ft_contain_only_str(path, "| <>")) - { - free(path); - ft_eprintf("minishell: %s: must be followed by an infile\n", path); - ft_freer_tab_ultimate(1, tab); - return (0); - } - free(path); + if (ft_contain_only_str(tab[i + 1], "| <>")) + return_code = 0; } } + if (return_code == 0) + ft_eprintf("minishell: %s: must be followed by an infile\n", tab[i]); ft_freer_tab_ultimate(1, tab); - return (1); + return (return_code); } static int ft_get_infile(t_data *data, const char *line) @@ -89,7 +87,7 @@ static int ft_get_infile(t_data *data, const char *line) free(path); } else if (ft_strcmp("<<", tab[i]) == 0) - fd = ft_heredoc(ft_quote_remover(tab[i + 1])); + fd = ft_heredoc(data, ft_quote_remover(tab[i + 1])); i++; } ft_freer_tab_ultimate(1, tab); diff --git a/main.c b/main.c index 333f523..9b0ce18 100644 --- a/main.c +++ b/main.c @@ -39,7 +39,6 @@ static char *ft_get_user_input() static int ft_minishell(t_data *data, char *line) { - t_list **cmds; char *line_clean; int infile; @@ -107,9 +106,11 @@ static int ft_minishell(t_data *data, char *line) void ft_ctrlc(int num) { (void) num; - if (*ft_get_heredoc()) + + if (*ft_get_heredoc() != -1) { - kill(*ft_get_heredoc(), SIGQUIT); + close(*ft_get_heredoc()); + *ft_get_heredoc() = -1; } else { diff --git a/minishell.h b/minishell.h index 3550bb8..0b6ee63 100644 --- a/minishell.h +++ b/minishell.h @@ -40,7 +40,7 @@ int ft_file_is_appendable(const char *path); char *ft_get_file_path(const char *infile); int ft_infile(t_data *data, char *line); int ft_outfile(t_data *data, char *line); -int ft_heredoc(char *stop); +int ft_heredoc(t_data *data, char *stop); int *ft_get_heredoc(); size_t ft_seglen_quoted(const char *str, char c); int ft_cmds_executor(t_data *data, t_list **cmds);