diff --git a/src/executing/simple_cmd/simple_cmd_execute.c b/src/executing/simple_cmd/simple_cmd_execute.c index 5e1f4a3..de71064 100644 --- a/src/executing/simple_cmd/simple_cmd_execute.c +++ b/src/executing/simple_cmd/simple_cmd_execute.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/03/27 16:21:56 by kcolin #+# #+# */ -/* Updated: 2025/04/30 14:05:26 by kcolin ### ########.fr */ +/* Updated: 2025/04/30 15:08:01 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -114,7 +114,7 @@ t_subprocess simple_cmd_execute(t_simple_cmd *cmd, t_minishell *app) ft_errno(FT_ESUCCESS); if (post_process_command(cmd, app) == NULL) { - if (ft_errno_get() != FT_ESUCCESS) + if (ft_errno_get() != FT_ESUCCESS && errno != 0) ft_dprintf(STDERR_FILENO, "minishell: post-processing error\n"); return (PARENTPROCESS); } diff --git a/src/postprocess/expansion/expand_wildcard.c b/src/postprocess/expansion/expand_wildcard.c index 5874835..eb863f5 100644 --- a/src/postprocess/expansion/expand_wildcard.c +++ b/src/postprocess/expansion/expand_wildcard.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/03 19:28:28 by kcolin #+# #+# */ -/* Updated: 2025/04/30 14:51:12 by kcolin ### ########.fr */ +/* Updated: 2025/04/30 15:09:59 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,6 +21,7 @@ static t_redirect *redirect_expand_wildcard_one(t_redirect *current) { t_wordlist *expansion_result; + ft_errno(FT_ESUCCESS); expansion_result = expand_star(current->redirectee.filename); if (expansion_result != NULL) { @@ -34,6 +35,8 @@ static t_redirect *redirect_expand_wildcard_one(t_redirect *current) return (ft_errno(FT_EERRNO), NULL); } } + else if (expansion_result == NULL && ft_errno_get() != FT_ESUCCESS) + return (redirect_destroy(current), NULL); return (current); } @@ -48,7 +51,9 @@ static t_redirect *redirect_expand_wildcards(t_redirect *in_list) current = redirect_pop(&in_list); if (current->type != FT_HEREDOC) { - if (redirect_expand_wildcard_one(current) == NULL) + ft_errno(FT_ESUCCESS); + if (redirect_expand_wildcard_one(current) == NULL + && ft_errno_get() != FT_ESUCCESS) { redirect_destroy(in_list); redirect_destroy(out_list); diff --git a/test.sh b/test.sh index 8b355e3..112cb85 100755 --- a/test.sh +++ b/test.sh @@ -1602,4 +1602,12 @@ expecting < *.txt +EOF +expecting <