/* By: ljiriste <ljiriste@student.42prague.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/21 08:57:54 by ljiriste #+# #+# */
-/* Updated: 2024/07/21 12:56:41 by ljiriste ### ########.fr */
+/* Updated: 2024/07/21 13:02:19 by ljiriste ### ########.fr */
/* */
/* ************************************************************************** */
if (!*fields)
{
save_assignments(&assignments, info);
+ ex_redirections(&redirections);
return (0);
}
- ex_fields(fields, assignments, redirections, info);
+ ex_fields(fields, &assignments, &redirections, info);
ft_vec_free(&redirections, void_free_redirection);
ft_vec_free(&assignments, void_free_assignments);
+ free_fields(fields);
return (0);
}
return (1);
res = ex_program(program, &info_copy);
info->ret_val = info_copy->ret_val;
- free_info(info_copy);
+ free_info(&info_copy);
return (res);
}
{
if (pipe(pipe_fds))
return (1);
- ft_swap_fd(&pipe_fds[1], &info->stdout_fd);
+ ft_swap_int(&pipe_fds[1], &info->stdout_fd);
ex_pipeline(ft_vec_access(&pipeline->children, 0), info);
ft_swap_int(&pipe_fds[1], &info->stdout_fd);
ft_swap_int(&pipe_fds[0], &info->stdin_fd);
int execute(t_tree *parse_tree, t_vars *vars)
{
- return (ex_program(parse_tree, env));
+ t_execution_info info;
+
+ construct_info(&info, vars);
+ return (ex_program(parse_tree, &info));
+ free_info(&info);
}