Merge branch 'test_execve' into quinten

This commit is contained in:
Quinten Mennen 2025-02-11 14:02:14 +01:00
commit bfaa716db3
3 changed files with 32 additions and 3 deletions

View File

@ -6,7 +6,7 @@
# By: qmennen <qmennen@student.codam.nl> +#+ #
# +#+ #
# Created: 2024/10/15 11:48:46 by whaffman #+# #+# #
# Updated: 2025/02/05 16:02:39 by whaffman ######## odam.nl #
# Updated: 2025/02/08 17:13:50 by willem ######## odam.nl #
# #
# **************************************************************************** #
@ -22,7 +22,7 @@ LIBFT = $(LIBFT_PATH)/libft.a
OBJ_PATH = obj
VPATH = src:src/environment:src/prompt:src/lexer:src/token:src/utils
VPATH = src:src/environment:src/prompt:src/lexer:src/token:src/utils:src/executor
SOURCES = $(shell basename -a $(shell find $(SRC_PATH) -type f -name "*.c"))
OBJECTS = $(addprefix $(OBJ_PATH)/, $(SOURCES:.c=.o))
@ -40,6 +40,7 @@ ifeq ($(UNAME_S),Linux)
endif
all: $(NAME)
echo $(SOURCES)
$(NAME): $(LIBFT) $(OBJECTS)
$(CC) $(CFLAGS) $(OBJECTS) $(LDLIBS) -o $(NAME)

View File

@ -6,7 +6,7 @@
/* By: whaffman <whaffman@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/02/04 16:13:13 by whaffman #+# #+# */
/* Updated: 2025/02/08 19:45:37 by willem ######## odam.nl */
/* Updated: 2025/02/09 16:18:44 by willem ######## odam.nl */
/* */
/* ************************************************************************** */

View File

@ -53,6 +53,33 @@ static int cmp_value(t_list *list, char *str)
return (FALSE);
}
void fork_execve(t_minishell *minishell, char *path, char **argv)
{
pid_t pid;
int status;
pid = fork();
if (pid == 0)
{
execve(path, argv, environment_get_arr(minishell->environment));
while (*argv != NULL)
printf("%s\n", *argv++);
printf("minishell->: %s: %s\n", path, strerror(errno));
exit(EXIT_FAILURE);
}
else if (pid < 0)
{
printf("minishell: %s\n", strerror(errno));
}
else
{
free(path);
ft_free_arr(argv);
waitpid(pid, &status, 0);
printf("exit status of pid(%d): %d\n", pid, (((status) & 0xff00) >> 8));
}
}
void simple_builtins(t_minishell *minishell)
{
char *path;
@ -79,4 +106,5 @@ void simple_builtins(t_minishell *minishell)
free(path);
}
}
}