Skip to content

Commit

Permalink
fixxing execution need to remove for loops XD
Browse files Browse the repository at this point in the history
  • Loading branch information
jackoske committed Aug 2, 2024
1 parent d96f58d commit 101b4b0
Show file tree
Hide file tree
Showing 65 changed files with 96 additions and 227 deletions.
Binary file removed lib/libft/libft.a
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_atoi.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_bzero.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_calloc.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_isalnum.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_isalpha.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_isascii.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_isdigit.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_isprint.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_itoa.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstadd_back.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstadd_front.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstclear.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstdelone.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstiter.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstlast.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstmap.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstnew.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_lstsize.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_memchr.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_memcmp.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_memcpy.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_memmove.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_memset.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_putchar_fd.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_putendl_fd.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_putnbr_fd.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_putstr_fd.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_realloc.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_split.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strchr.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strdup.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_striteri.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strjoin.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strlcat.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strlcpy.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strlen.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strmapi.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strncmp.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strnstr.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strrchr.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_strtrim.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_substr.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_tolower.o
Binary file not shown.
Binary file removed lib/libft/obj/src/ft_toupper.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_1st_char_in_set_i.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_2d_array_len.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_add_row_2d_array.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_add_row_2d_array_i.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_count_char.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_duplicate_2d_array.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_free_2d_array.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_is_only_special.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_is_space.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_is_special_symbol.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_print_2d_array_fd.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_realloc_2d_array.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_splice_2d_array.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_strchr_i.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_strcmp.o
Binary file not shown.
Binary file removed lib/libft/obj/src_extra/ft_strjoin_free.o
Binary file not shown.
Binary file removed minishell
Binary file not shown.
33 changes: 13 additions & 20 deletions src/exec/execution.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* By: Jskehan <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/16 10:52:13 by Jskehan #+# #+# */
/* Updated: 2024/08/02 12:46:45 by Jskehan ### ########.fr */
/* Updated: 2024/08/02 14:44:29 by Jskehan ### ########.fr */
/* */
/* ************************************************************************** */

Expand Down Expand Up @@ -83,12 +83,14 @@ static void close_pipes_in_parent(int num_cmds, int pipes[][2])
}
}

static void close_pipes_in_child(int num_cmds, int pipes[][2])
static void close_pipes_in_child(int num_cmds, int pipes[][2], int i)
{
for (int i = 0; i < num_cmds - 1; i++)
for (int j = 0; j < num_cmds - 1; j++)
{
close(pipes[i][0]);
close(pipes[i][1]);
if (j != i - 1)
close(pipes[j][0]);
if (j != i)
close(pipes[j][1]);
}
}

Expand Down Expand Up @@ -134,44 +136,35 @@ void exec_pipes(t_mini *mini, t_list *commands)
{
int num_cmds;
int pipes[128][2]; // Define a maximum number of pipes
t_list *cmd_node;
pid_t pid;
int i;
int i;
t_cmd *cmd;

num_cmds = ft_lstsize(commands);
cmd_node = commands;
i = 0;
create_pipes(num_cmds, pipes);
while (cmd_node)
while (i < num_cmds)
{
cmd = (t_cmd *)cmd_node->content;
printf("Executing command: %s\n", cmd->full_command[0]); // Debug print
cmd = (t_cmd *)commands->content;
if ((pid = fork()) == 0)
{
setup_pipe_redirection(i, num_cmds, pipes);
close_pipes_in_child(num_cmds, pipes);
close_pipes_in_child(num_cmds, pipes, i);
child_process(mini, cmd);
exit(0); // Ensure child process exits after executing the command
}
else if (pid < 0)
{
perror("fork");
exit(EXIT_FAILURE);
}
// Close the write end of the previous pipe in the parent
if (i > 0)
{
close(pipes[i - 1][0]);
close(pipes[i - 1][1]);
}
cmd_node = cmd_node->next;
commands = commands->next;
i++;
}
close_pipes_in_parent(num_cmds, pipes);
wait_for_children(num_cmds, mini);
}


void *check_to_fork(t_mini *mini, t_list *commands)
{
t_cmd *cmd;
Expand Down
121 changes: 0 additions & 121 deletions src/parser/prompt.c

This file was deleted.

Loading

0 comments on commit 101b4b0

Please sign in to comment.