check of cmd->error :

- before calling cmd_find_access()
- before calling simple_command_builtin()
This commit is contained in:
LuckyLaszlo
2021-12-11 05:53:55 +01:00
parent 465c4de21e
commit a7de843dc1

View File

@@ -6,7 +6,7 @@
/* By: lperrey <lperrey@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2021/11/16 01:57:38 by lperrey #+# #+# */
/* Updated: 2021/12/01 16:49:37 by lperrey ### ########.fr */
/* Updated: 2021/12/11 05:24:07 by lperrey ### ########.fr */
/* */
/* ************************************************************************** */
@@ -18,14 +18,25 @@ static pid_t pipeline_exec(t_cmd *pipeline[], t_all *c);
int pipeline(t_all *c)
{
if (!open_pipes(c->pipeline))
t_cmd **pipeline;
int ret;
pipeline = c->pipeline;
if (!open_pipes(pipeline))
return (0);
if (!pipeline_find_access(c->pipeline, c->path))
if (!pipeline_find_access(pipeline, c->path))
return (0);
if (ft_2d_arrlen(c->pipeline) == 1 && c->pipeline[0]->builtin_f)
simple_command_builtin(c->pipeline[0], c);
if (pipeline[0]->builtin_f && ft_2d_arrlen(pipeline) == 1)
{
if (!pipeline[0]->error)
{
ret = simple_command_builtin(pipeline[0], c);
if (ret != EXIT_SUCCESS)
set_last_exit_status(ret);
}
}
else
wait_subshell(pipeline_exec(c->pipeline, c));
wait_subshell(pipeline_exec(pipeline, c));
free_pipeline(&c->pipeline);
return (1);
}
@@ -62,8 +73,11 @@ static int pipeline_find_access(t_cmd *pipeline[], char *path[])
i = 0;
while (pipeline[i])
{
if (!cmd_find_access(pipeline[i], path))
return (0);
if (!pipeline[i]->error)
{
if (!cmd_find_access(pipeline[i], path))
return (0);
}
i++;
}
return (1);