fix: exit code works

This commit is contained in:
Camille Chauvet
2023-03-20 15:31:39 +01:00
parent d56aac4b25
commit a58f9a0c76
8 changed files with 37 additions and 18 deletions

View File

@ -45,10 +45,14 @@ static int ft_executable_parse(t_data *data, t_cmd *cmd)
else if (ft_strcmp(cmd->args[0], "cd") == 0)
own = 1;
else
path = ft_get_executable(data->env, cmd->args[0]);
{
path = ft_get_executable(data, cmd->args[0]);
if (path == NULL)
return (1);
}
cmd->own_cmd = own;
cmd->executable = path;
return (own);
return (0);
}
int ft_cmd_parser(t_data *data, char *cmd_str)
@ -65,14 +69,18 @@ int ft_cmd_parser(t_data *data, char *cmd_str)
if (ft_redirection(data, cmd, cmd_str))
{
ft_cmddel(cmd);
return (1);
return (0);
}
if (ft_args_parse(cmd_str, cmd))
{
ft_cmddel(cmd);
return (1);
}
ft_executable_parse(data, cmd);
if (ft_executable_parse(data, cmd))
{
ft_cmddel(cmd);
return (1);
}
element = ft_lstnew(cmd);
if (element == NULL)
{
@ -98,7 +106,11 @@ int ft_cmds_parser(t_data *data, const char *line)
i = 0;
while (tab[i] != NULL)
{
ft_cmd_parser(data, tab[i]);
if (ft_cmd_parser(data, tab[i]))
{
ft_freer_tab_ultimate(1, tab);
return (1);
}
i++;
}
if (*data->cmds != NULL)