From 5c53ebfa645540947d37bdebeb927aa1c1042497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gu=C3=A9len?= Date: Mon, 28 Apr 2025 16:55:58 +0200 Subject: [PATCH] (fix) Quote removal on heredoc limiters --- src/parser/redirect/redirect_from_words.c | 10 ++++-- .../remove_quotes/cmdgroup_remove_quotes.c | 4 +-- test.sh | 36 +++++++++++++++++++ 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/parser/redirect/redirect_from_words.c b/src/parser/redirect/redirect_from_words.c index c0a2197..00ae2b8 100644 --- a/src/parser/redirect/redirect_from_words.c +++ b/src/parser/redirect/redirect_from_words.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* redirect_from_words.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: khais +#+ +:+ +#+ */ +/* By: jguelen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/14 17:31:35 by khais #+# #+# */ -/* Updated: 2025/04/24 13:23:44 by khais ### ########.fr */ +/* Updated: 2025/04/28 16:50:11 by jguelen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,7 @@ #include "../../ft_errno.h" #include "../../executing/here_doc/here_doc.h" #include "../cmd/cmd_destroy.h" +#include "../remove_quotes/remove_quotes.h" static t_redir_type redir_type_from_token_type(t_token_type type) { @@ -68,6 +69,7 @@ t_redirect *redir_from_words(t_worddesc *operator, t_worddesc *specifier, t_minishell *app) { t_redirect *redir; + t_worddesc *spec; redir = redir_basic_setup(operator, specifier); if (redir == NULL) @@ -75,8 +77,10 @@ t_redirect *redir_from_words(t_worddesc *operator, if (redir->type == FT_HEREDOC) { redir->here_doc_eof = ft_strdup(specifier->word); - redir->redirectee.dest = here_doc(specifier, STDIN_FILENO, app); + spec = remove_quotes(specifier); worddesc_destroy(specifier); + redir->redirectee.dest = here_doc(spec, STDIN_FILENO, app); + worddesc_destroy(spec); if (redir->redirectee.dest < 0) { ft_errno(FT_EERRNO); diff --git a/src/parser/remove_quotes/cmdgroup_remove_quotes.c b/src/parser/remove_quotes/cmdgroup_remove_quotes.c index a4d72bc..9371f24 100644 --- a/src/parser/remove_quotes/cmdgroup_remove_quotes.c +++ b/src/parser/remove_quotes/cmdgroup_remove_quotes.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* cmdgroup_remove_quotes.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: khais +#+ +:+ +#+ */ +/* By: jguelen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/03/20 17:36:20 by khais #+# #+# */ -/* Updated: 2025/04/22 15:37:15 by khais ### ########.fr */ +/* Updated: 2025/04/28 16:43:53 by jguelen ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/test.sh b/test.sh index 7a12d78..13555bc 100755 --- a/test.sh +++ b/test.sh @@ -1559,4 +1559,40 @@ minishell: qwertyuiop: command not found 127 EOF +when_run <