From a5e877fdd515dec21df4d0bc045f482353c3d92b Mon Sep 17 00:00:00 2001 From: whaffman Date: Wed, 26 Feb 2025 15:27:53 +0100 Subject: [PATCH 1/5] norm 1 --- sources.mk | 43 ++++++++++++------------- src/builtin/builtin_exit.c | 19 ++++++----- src/builtin/is_builtin.c | 3 +- src/builtin/simple_builtins.c | 3 +- src/debug/print_commands.c | 1 - src/debug/print_freelist.c | 4 +-- src/environment/environment_get_arr.c | 8 +++-- src/environment/environment_parse.c | 15 ++++----- src/executor/executor_child.c | 4 +-- src/executor/executor_count_fds.c | 4 +-- src/executor/executor_fork.c | 6 ++-- src/executor/executor_open_fds.c | 3 +- src/expander/expander_allocate_memory.c | 8 ++--- src/expander/expander_parse_string.c | 5 ++- src/expander/expander_parse_variables.c | 3 +- src/lexer/lexer_new.c | 6 ++-- src/lexer/lexer_parse_input.c | 6 ++-- src/parser/parser_get_arguments.c | 30 +++++++++-------- 18 files changed, 83 insertions(+), 88 deletions(-) diff --git a/sources.mk b/sources.mk index 3fa9ed9..9930b49 100644 --- a/sources.mk +++ b/sources.mk @@ -1,23 +1,22 @@ -VPATH = src:src/prompt:src/utils:src/lexer:src/token:src/environment:src/executor:src/parser:src/debug:src/expander:src/builtin:src/signal:src/redirect: -SOURCES = history_load.c history_write.c prompt.c error_msg.c \ -ft_lstclear_safe.c ft_lstnew_safe.c ft_strdup_safe.c \ -ft_strjoin_safe.c init_minishell.c malloc_safe.c print_banner.c \ -check_malloc.c free_command_list.c free_freelist.c free_lexer.c \ -free_minishell.c free_minishell_line.c free_safe.c free_token.c \ -free_token_list.c lexer_read_char.c lexer_new.c lexer_parse_input.c \ -lexer_read_word.c lexer_token_next.c token_new.c token_parse.c \ -environment_add.c environment_del.c environment_free.c \ -environment_free_list.c environment_get.c environment_get_arr.c \ -environment_parse.c environment_print.c executor_close_fds.c \ -executor_absolute_path.c executor_child.c executor_count_fds.c \ -executor_create_pipes.c executor_create_redirects.c \ -executor_execute_pipeline.c executor_fork.c executor_open_fds.c \ -parser_get_arguments.c parser_get_commands.c parser_new_command.c \ -print_commands.c print_freelist.c expander_is_character.c \ -expander_expand_dollar.c expander_allocate_memory.c \ +VPATH = src:src/prompt:src/utils:src/lexer:src/token:src/environment:src/executor:src/parser:src/signal:src/debug:src/expander:src/builtin:src/redirect: +SOURCES = history_load.c history_write.c prompt.c ft_lstclear_safe.c \ +ft_lstnew_safe.c ft_strdup_safe.c ft_strjoin_safe.c init_minishell.c \ +malloc_safe.c free_minishell_line.c free_safe.c print_banner.c \ +error_msg.c check_malloc.c free_command_list.c free_freelist.c \ +free_lexer.c free_minishell.c free_token.c free_token_list.c \ +lexer_read_char.c lexer_new.c lexer_parse_input.c lexer_read_word.c \ +lexer_token_next.c token_new.c token_parse.c environment_add.c \ +environment_del.c environment_free.c environment_free_list.c \ +environment_get.c environment_get_arr.c environment_print.c \ +environment_parse.c executor_close_fds.c executor_absolute_path.c \ +executor_child.c executor_count_fds.c executor_create_pipes.c \ +executor_create_redirects.c executor_fork.c executor_open_fds.c \ +executor_execute_pipeline.c parser_get_commands.c \ +parser_new_command.c parser_get_arguments.c signal.c print_freelist.c \ +print_commands.c expander_expand_dollar.c expander_is_character.c \ expander_get_variable.c expander_parse_string.c \ -expander_parse_variables.c builtin_echo.c builtin_router.c \ -simple_builtins.c is_builtin.c builtin_cd.c builtin_env.c \ -builtin_exit.c builtin_export.c builtin_pwd.c builtin_unset.c \ -signal.c redirect_valid_type.c redirect_get_inputs.c \ -redirect_get_outputs.c redirect_new.c main.c \ +expander_parse_variables.c expander_allocate_memory.c builtin_echo.c \ +builtin_router.c simple_builtins.c is_builtin.c builtin_cd.c \ +builtin_env.c builtin_export.c builtin_unset.c builtin_pwd.c \ +builtin_exit.c redirect_valid_type.c redirect_get_outputs.c \ +redirect_new.c redirect_get_inputs.c main.c \ diff --git a/src/builtin/builtin_exit.c b/src/builtin/builtin_exit.c index 5e3252d..4dcb622 100644 --- a/src/builtin/builtin_exit.c +++ b/src/builtin/builtin_exit.c @@ -1,23 +1,23 @@ /* ************************************************************************** */ /* */ -/* ::: :::::::: */ -/* builtin_exit.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: qmennen +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2025/02/20 11:32:59 by whaffman #+# #+# */ -/* Updated: 2025/02/25 20:56:29 by qmennen ### ########.fr */ +/* :::::::: */ +/* builtin_exit.c :+: :+: */ +/* +:+ */ +/* By: qmennen +#+ */ +/* +#+ */ +/* Created: 2025/02/20 11:32:59 by whaffman #+# #+# */ +/* Updated: 2025/02/26 15:19:51 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" - +//TODO EXIT last exit status r:20 int builtin_exit(t_minishell *minishell, t_command *cmd) { int exit_status; - exit_status = 0; //TODO EXIT last exit status + exit_status = 0; if (ft_count_arr(cmd->args) > 2) { ft_putstr_fd("exit\n", STDERR_FILENO); @@ -36,7 +36,6 @@ int builtin_exit(t_minishell *minishell, t_command *cmd) } exit_status = ft_atoi(cmd->args[1]); } - //print_freelist(minishell); free_minishell(&minishell); rl_clear_history(); exit(exit_status); diff --git a/src/builtin/is_builtin.c b/src/builtin/is_builtin.c index 8fe1345..05cb3f9 100644 --- a/src/builtin/is_builtin.c +++ b/src/builtin/is_builtin.c @@ -6,13 +6,12 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:03:33 by whaffman #+# #+# */ -/* Updated: 2025/02/20 15:36:16 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 14:42:49 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" - int is_builtin(char *cmd) { const char *builtins[] = {"echo", "cd", "pwd", "export", diff --git a/src/builtin/simple_builtins.c b/src/builtin/simple_builtins.c index 992b67d..b83fbbe 100644 --- a/src/builtin/simple_builtins.c +++ b/src/builtin/simple_builtins.c @@ -6,13 +6,12 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:21:39 by whaffman #+# #+# */ -/* Updated: 2025/02/20 15:06:40 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 14:42:54 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" - void simple_builtins(t_minishell *minishell) { if (minishell->commands == NULL) diff --git a/src/debug/print_commands.c b/src/debug/print_commands.c index c41bfa2..2092b8d 100644 --- a/src/debug/print_commands.c +++ b/src/debug/print_commands.c @@ -53,4 +53,3 @@ void token_print(void *param) token = (t_token *)param; printf("token type %i, value %s\n", token->type, token->value); } - diff --git a/src/debug/print_freelist.c b/src/debug/print_freelist.c index b9b1e6e..7a74220 100644 --- a/src/debug/print_freelist.c +++ b/src/debug/print_freelist.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 15:46:03 by whaffman #+# #+# */ -/* Updated: 2025/02/25 18:17:13 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 14:44:46 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -15,7 +15,7 @@ void print_freelist(t_minishell *minishell) { t_list *freelist; - int i; + int i; if (!DEBUG) return ; diff --git a/src/environment/environment_get_arr.c b/src/environment/environment_get_arr.c index c7d9b68..9746792 100644 --- a/src/environment/environment_get_arr.c +++ b/src/environment/environment_get_arr.c @@ -6,7 +6,7 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/08 13:59:48 by willem #+# #+# */ -/* Updated: 2025/02/25 14:29:49 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 14:45:35 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -20,12 +20,14 @@ char **environment_get_arr(t_minishell *minishell) t_list *environment; environment = minishell->environment; - arr = malloc_safe(minishell, sizeof(char *) * (ft_lstsize(environment) + 1)); + arr = malloc_safe(minishell, + sizeof(char *) * (ft_lstsize(environment) + 1)); i = 0; while (environment != NULL) { env = (t_environment *)environment->content; - arr[i] = malloc_safe(minishell, ft_strlen(env->name) + ft_strlen(env->value) + 2); + arr[i] = malloc_safe(minishell, + ft_strlen(env->name) + ft_strlen(env->value) + 2); ft_strlcpy(arr[i], env->name, ft_strlen(env->name) + 1); ft_strlcat(arr[i], "=", ft_strlen(env->name) + 2); ft_strlcat(arr[i], env->value, diff --git a/src/environment/environment_parse.c b/src/environment/environment_parse.c index 8ef6f6d..e5a42a1 100644 --- a/src/environment/environment_parse.c +++ b/src/environment/environment_parse.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* ::: :::::::: */ -/* environment_parse.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: qmennen +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2025/02/05 15:52:33 by whaffman #+# #+# */ -/* Updated: 2025/02/25 21:17:06 by qmennen ### ########.fr */ +/* :::::::: */ +/* environment_parse.c :+: :+: */ +/* +:+ */ +/* By: qmennen +#+ */ +/* +#+ */ +/* Created: 2025/02/05 15:52:33 by whaffman #+# #+# */ +/* Updated: 2025/02/26 15:20:09 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -16,7 +16,6 @@ int environment_parse(t_minishell *minishell, char **envp) { char **env; - if (envp == NULL) return (FAILURE); while (*envp != NULL) diff --git a/src/executor/executor_child.c b/src/executor/executor_child.c index 125acbb..549cdcb 100644 --- a/src/executor/executor_child.c +++ b/src/executor/executor_child.c @@ -6,7 +6,7 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/12 21:25:10 by willem #+# #+# */ -/* Updated: 2025/02/25 13:52:53 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:20:25 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ void executor_child(t_minishell *minishell, t_command *command) { - char *path; + char *path; if (command->fd_in != 0) dup2(command->fd_in, 0); diff --git a/src/executor/executor_count_fds.c b/src/executor/executor_count_fds.c index f478882..0fcf5f9 100644 --- a/src/executor/executor_count_fds.c +++ b/src/executor/executor_count_fds.c @@ -6,13 +6,13 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/21 12:42:26 by whaffman #+# #+# */ -/* Updated: 2025/02/21 13:05:55 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:20:33 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int executor_count_fds(t_minishell *minishell) +int executor_count_fds(t_minishell *minishell) { int count; t_list *current; diff --git a/src/executor/executor_fork.c b/src/executor/executor_fork.c index 5da3295..2c025a3 100644 --- a/src/executor/executor_fork.c +++ b/src/executor/executor_fork.c @@ -6,16 +6,16 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/12 21:24:52 by willem #+# #+# */ -/* Updated: 2025/02/25 13:51:48 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:21:42 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" +//TODO should parent close the fds? pid_t executor_fork(t_minishell *minishell, t_command *command) { pid_t pid; - // int status; pid = fork(); if (pid > 0) @@ -24,8 +24,6 @@ pid_t executor_fork(t_minishell *minishell, t_command *command) close(command->fd_in); if (command->fd_out != 1) close(command->fd_out); - // waitpid(pid, &status, 0); - // return (((status) & 0xff00) >> 8); signal_init_parent(); } else if (pid == 0) diff --git a/src/executor/executor_open_fds.c b/src/executor/executor_open_fds.c index 4dc2b5e..ace0aa4 100644 --- a/src/executor/executor_open_fds.c +++ b/src/executor/executor_open_fds.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/21 12:50:42 by whaffman #+# #+# */ -/* Updated: 2025/02/21 13:15:04 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:21:56 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -35,5 +35,4 @@ int executor_open_fds(t_list *redirect_list, int og_fd) redirect_list = redirect_list->next; } return (fd); - } diff --git a/src/expander/expander_allocate_memory.c b/src/expander/expander_allocate_memory.c index 08c72b8..a323e4c 100644 --- a/src/expander/expander_allocate_memory.c +++ b/src/expander/expander_allocate_memory.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/19 13:57:19 by qmennen #+# #+# */ -/* Updated: 2025/02/25 17:54:08 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:22:11 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -17,10 +17,10 @@ char *expander_allocate_memory( const char *s, t_list *variables) { - int size; - t_list *current; + int size; + t_list *current; t_environment *env; - char *string; + char *string; size = 1; current = variables; diff --git a/src/expander/expander_parse_string.c b/src/expander/expander_parse_string.c index e2fdf4b..6546950 100644 --- a/src/expander/expander_parse_string.c +++ b/src/expander/expander_parse_string.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/18 19:00:35 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:14:16 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:22:54 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -26,6 +26,7 @@ static void free_variables(t_minishell *minishell, t_list *variables) } } +//TODO: Figure out why echo "> echo "\as"" breaks char *expander_parse_string(char *s, t_minishell *minishell) { t_list *variables; @@ -51,8 +52,6 @@ char *expander_parse_string(char *s, t_minishell *minishell) else string[j++] = s[i++]; } - //TODO: Figure out why echo "> echo "\as"" breaks - string[j] = 0; free_variables(minishell, variables); return (string); diff --git a/src/expander/expander_parse_variables.c b/src/expander/expander_parse_variables.c index aab07e9..69c6c5c 100644 --- a/src/expander/expander_parse_variables.c +++ b/src/expander/expander_parse_variables.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/19 13:58:13 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:51:16 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:23:17 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -14,7 +14,6 @@ t_list *expander_parse_variables(const char *s, t_minishell *minishell) { - int i; t_list *var_list; t_environment *env; diff --git a/src/lexer/lexer_new.c b/src/lexer/lexer_new.c index 92d13d1..8bb3a0d 100644 --- a/src/lexer/lexer_new.c +++ b/src/lexer/lexer_new.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:03:01 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:40:16 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:23:52 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -14,9 +14,9 @@ t_lexer *ft_lexer_new(t_minishell *minishell) { - char *input; - + char *input; t_lexer *lexer; + input = minishell->line; lexer = malloc_safe(minishell, sizeof(t_lexer)); lexer->input = ft_strdup_safe(minishell, input); diff --git a/src/lexer/lexer_parse_input.c b/src/lexer/lexer_parse_input.c index e68d723..fb4dc94 100644 --- a/src/lexer/lexer_parse_input.c +++ b/src/lexer/lexer_parse_input.c @@ -6,11 +6,12 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:09:20 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:51:27 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:24:39 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" +//TODO: Check if unicode support is viable /** * @brief Parses the input from the lexer and returns a list of tokens. @@ -33,9 +34,8 @@ t_list *ft_parse_input(t_minishell *minishell) list = NULL; while (TRUE) { - //TODO: Check if unicode support is viable token = ft_token_next(minishell, lexer); - if (token->type == T_EOF || token->type == T_ERROR) //TODO T_ERROR removes the inf loop + if (token->type == T_EOF || token->type == T_ERROR) break ; ft_lstadd_back(&list, ft_lstnew_safe(minishell, token)); } diff --git a/src/parser/parser_get_arguments.c b/src/parser/parser_get_arguments.c index afbb729..1881561 100644 --- a/src/parser/parser_get_arguments.c +++ b/src/parser/parser_get_arguments.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* ::: :::::::: */ -/* parser_get_arguments.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: qmennen +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2025/02/11 16:20:09 by qmennen #+# #+# */ -/* Updated: 2025/02/25 20:14:18 by qmennen ### ########.fr */ +/* :::::::: */ +/* parser_get_arguments.c :+: :+: */ +/* +:+ */ +/* By: qmennen +#+ */ +/* +#+ */ +/* Created: 2025/02/11 16:20:09 by qmennen #+# #+# */ +/* Updated: 2025/02/26 15:26:32 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -38,8 +38,10 @@ static int parser_should_expand(t_list *value) token = (t_token *)value->content; if (!token) return (0); - return (token->type == T_DQWORD || (token->type == T_WORD && - token->value[0] == '$' && token->value[1])); + return (token->type == T_DQWORD + || (token->type == T_WORD + && token->value[0] == '$' + && token->value[1])); } char **parser_get_arguments(t_list *list, t_minishell *minishell) @@ -56,10 +58,12 @@ char **parser_get_arguments(t_list *list, t_minishell *minishell) while ((++i) < cmds && current) { if (parser_should_expand(current)) - args[i] = expander_parse_string(((t_token *)current->content)->value, minishell); - else if (((t_token *)current->content)->type == T_WORD || - ((t_token *)current->content)->type == T_SQWORD) - args[i] = ft_strdup_safe(minishell, ((t_token *)current->content)->value); + args[i] = expander_parse_string( + ((t_token *)current->content)->value, minishell); + else if (((t_token *)current->content)->type == T_WORD + || ((t_token *)current->content)->type == T_SQWORD) + args[i] = ft_strdup_safe(minishell, + ((t_token *)current->content)->value); current = current->next; } args[i] = 0; From c2efcca0fa55307b498e5b70d5f2ce654c759ba9 Mon Sep 17 00:00:00 2001 From: whaffman Date: Wed, 26 Feb 2025 15:45:10 +0100 Subject: [PATCH 2/5] norm 2 --- src/parser/parser_get_commands.c | 5 ++-- src/parser/parser_new_command.c | 3 +-- src/prompt/prompt.c | 18 +++++++------- src/redirect/redirect_get_inputs.c | 11 ++++----- src/redirect/redirect_get_outputs.c | 12 +++++----- src/redirect/redirect_new.c | 16 ++++++------- src/redirect/redirect_valid_type.c | 37 ++++++++++++++++------------- src/signal/signal.c | 30 +---------------------- src/signal/signal_init.c.c | 37 +++++++++++++++++++++++++++++ src/utils/check_malloc.c | 5 ++-- src/utils/error_msg.c | 1 - src/utils/free_minishell.c | 6 +---- src/utils/free_safe.c | 6 +---- src/utils/ft_strjoin_safe.c | 1 - 14 files changed, 95 insertions(+), 93 deletions(-) create mode 100644 src/signal/signal_init.c.c diff --git a/src/parser/parser_get_commands.c b/src/parser/parser_get_commands.c index 724db81..7d67d06 100644 --- a/src/parser/parser_get_commands.c +++ b/src/parser/parser_get_commands.c @@ -12,7 +12,7 @@ #include "minishell.h" -static int is_command_token(t_token *token) +static int is_command_token(t_token *token) { return (token->type < 3 || redirect_token_type(token)); } @@ -31,7 +31,8 @@ t_list *parser_get_commands(t_minishell *minishell) while (current) { token = (t_token *) current->content; - command = parser_command_new(minishell, ft_strdup_safe(minishell, token->value)); + command = parser_command_new(minishell, + ft_strdup_safe(minishell, token->value)); command->args = parser_get_arguments(current, minishell); command->redirect_in = redirect_get_inputs(minishell, current); command->redirect_out = redirect_get_outputs(minishell, current); diff --git a/src/parser/parser_new_command.c b/src/parser/parser_new_command.c index 7b4e45f..f162d67 100644 --- a/src/parser/parser_new_command.c +++ b/src/parser/parser_new_command.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/11 16:18:21 by qmennen #+# #+# */ -/* Updated: 2025/02/25 14:41:57 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:32:45 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -17,7 +17,6 @@ t_command *parser_command_new(t_minishell *minishell, char *cmd) t_command *command; command = malloc_safe(minishell, sizeof(t_command)); -\ command->args = NULL; command->fd_in = 0; command->fd_out = 1; diff --git a/src/prompt/prompt.c b/src/prompt/prompt.c index 8e98282..e0f9195 100644 --- a/src/prompt/prompt.c +++ b/src/prompt/prompt.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* ::: :::::::: */ -/* prompt.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: qmennen +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */ -/* Updated: 2025/02/25 18:41:56 by qmennen ### ########.fr */ +/* :::::::: */ +/* prompt.c :+: :+: */ +/* +:+ */ +/* By: qmennen +#+ */ +/* +#+ */ +/* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */ +/* Updated: 2025/02/26 15:33:15 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -33,7 +33,7 @@ char *get_user(t_minishell *minishell) return (result); } -int get_home_len(t_minishell *minishell, char *cwd) +int get_home_len(t_minishell *minishell, char *cwd) { t_environment *home; int home_len; @@ -83,7 +83,7 @@ char *get_path(t_minishell *minishell) ft_strlcpy(result, BLUE, len); ft_strlcat(result, cwd, len); ft_strlcat(result, RESET "> ", len); - free_safe(minishell,(void **) &cwd); + free_safe(minishell, (void **) &cwd); return (result); } diff --git a/src/redirect/redirect_get_inputs.c b/src/redirect/redirect_get_inputs.c index f68d9af..6e298fb 100644 --- a/src/redirect/redirect_get_inputs.c +++ b/src/redirect/redirect_get_inputs.c @@ -12,7 +12,7 @@ #include "redirect.h" -static void process_heredoc(t_minishell *ms, t_token *heredoc, t_token *delim) +static void process_heredoc(t_minishell *msh, t_token *heredoc, t_token *delim) { char *line; int fd; @@ -20,7 +20,6 @@ static void process_heredoc(t_minishell *ms, t_token *heredoc, t_token *delim) fd = open(".ms_heredoc", O_WRONLY | O_CREAT | O_TRUNC, 0644); if (fd < 0) //TODO: Will this work? return ; - while (TRUE) { line = readline(">"); @@ -33,14 +32,14 @@ static void process_heredoc(t_minishell *ms, t_token *heredoc, t_token *delim) } close(fd); heredoc->type = T_REDIRECT_IN; - delim->value = ft_strdup_safe(ms, ".ms_heredoc"); + delim->value = ft_strdup_safe(msh, ".ms_heredoc"); } t_list *redirect_get_inputs(t_minishell *minishell, t_list *list) { - t_list *current; - t_list *redirects; - t_token *token; + t_list *current; + t_list *redirects; + t_token *token; redirects = NULL; current = list; diff --git a/src/redirect/redirect_get_outputs.c b/src/redirect/redirect_get_outputs.c index f1f884c..e2cca75 100644 --- a/src/redirect/redirect_get_outputs.c +++ b/src/redirect/redirect_get_outputs.c @@ -12,11 +12,11 @@ #include "minishell.h" -t_list *redirect_get_outputs(t_minishell *minishell, t_list *list) +t_list *redirect_get_outputs(t_minishell *msh, t_list *list) { - t_list *current; - t_list *redirects; - t_token *token; + t_list *current; + t_list *redirects; + t_token *token; redirects = NULL; current = list; @@ -33,13 +33,13 @@ t_list *redirect_get_outputs(t_minishell *minishell, t_list *list) if (redirect_is_valid(current, token)) { ft_lstadd_front(&redirects, - ft_lstnew_safe(minishell, redirect_new(minishell, token->type, ft_strdup_safe(minishell, ((t_token *)current->next->content)->value)))); + ft_lstnew_safe(msh, redirect_new(msh, token->type, ft_strdup_safe(msh, ((t_token *)current->next->content)->value)))); current = current->next; continue ; } else { - ft_lstadd_front(&redirects, ft_lstnew_safe(minishell, redirect_new(minishell, T_ERROR, NULL))); + ft_lstadd_front(&redirects, ft_lstnew_safe(msh, redirect_new(msh, T_ERROR, NULL))); break ; } current = current->next; diff --git a/src/redirect/redirect_new.c b/src/redirect/redirect_new.c index e6c9ccc..662d337 100644 --- a/src/redirect/redirect_new.c +++ b/src/redirect/redirect_new.c @@ -12,14 +12,14 @@ #include "minishell.h" -t_redirect *redirect_new(t_minishell * minishell, t_token_type type, char *value) +t_redirect *redirect_new(t_minishell *msh, t_token_type type, char *value) { - t_redirect *result; + t_redirect *result; - result = malloc_safe(minishell, sizeof(t_redirect)); - result->type = type; - result->value = NULL; - if (value) - result->value = value; - return (result); + result = malloc_safe(msh, sizeof(t_redirect)); + result->type = type; + result->value = NULL; + if (value) + result->value = value; + return (result); } diff --git a/src/redirect/redirect_valid_type.c b/src/redirect/redirect_valid_type.c index 2554d32..5f5f9de 100644 --- a/src/redirect/redirect_valid_type.c +++ b/src/redirect/redirect_valid_type.c @@ -12,26 +12,31 @@ #include "minishell.h" -int redirect_token_type(t_token *token) +int redirect_token_type(t_token *token) { - return (token->type == T_REDIRECT_IN || token->type == T_HEREDOC || - token->type == T_REDIRECT_OUT || token->type == T_APPEND_OUT); + return (token->type == T_REDIRECT_IN + || token->type == T_HEREDOC + || token->type == T_REDIRECT_OUT + || token->type == T_APPEND_OUT); } -int redirect_is_valid(t_list *lst, t_token *token) +int redirect_is_valid(t_list *lst, t_token *token) { - t_token *next; - - if (!lst->next) - return (0); - next = (t_token *)lst->next->content; - if (!next) - return (0); - return (redirect_token_type(token) && next->type < 3); -} + t_token *next; -int redirect_is_delimiter(t_token *token) + if (!lst->next) + return (0); + next = (t_token *)lst->next->content; + if (!next) + return (0); + return (redirect_token_type(token) && next->type < 3); +} + +int redirect_is_delimiter(t_token *token) { - return (token->type == T_PIPE || token->type == T_AND || - token->type == T_OR || token->type == T_EOF || token->type == T_ERROR); + return (token->type == T_PIPE + || token->type == T_AND + || token->type == T_OR + || token->type == T_EOF + || token->type == T_ERROR); } \ No newline at end of file diff --git a/src/signal/signal.c b/src/signal/signal.c index 0b81082..edc72ca 100644 --- a/src/signal/signal.c +++ b/src/signal/signal.c @@ -6,13 +6,12 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/19 12:18:47 by whaffman #+# #+# */ -/* Updated: 2025/02/19 17:30:12 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:42:30 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" - void sigint_minishell_handler(int signum) { (void)signum; @@ -36,30 +35,3 @@ void sig_parent_handler(int signum) (void)signum; ft_putstr_fd("\n", 1); } - - -void signal_init_minishell(void) -{ - signal(SIGINT, sigint_minishell_handler); - signal(SIGQUIT, SIG_IGN); -} - -void signal_init_parent(void) -{ - signal(SIGINT, sig_parent_handler); - signal(SIGQUIT, sig_parent_handler); -} - - -void signal_init_child(void) -{ - signal(SIGINT, SIG_DFL); - signal(SIGQUIT, SIG_DFL); -} - - -void signal_init_heredoc(void) -{ - signal(SIGINT, sigint_heredoc_handler); - signal(SIGQUIT, SIG_IGN); -} diff --git a/src/signal/signal_init.c.c b/src/signal/signal_init.c.c new file mode 100644 index 0000000..0f5133c --- /dev/null +++ b/src/signal/signal_init.c.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* :::::::: */ +/* signal_init.c.c :+: :+: */ +/* +:+ */ +/* By: whaffman +#+ */ +/* +#+ */ +/* Created: 2025/02/26 15:39:01 by whaffman #+# #+# */ +/* Updated: 2025/02/26 15:39:46 by whaffman ######## odam.nl */ +/* */ +/* ************************************************************************** */ + +#include "minishell.h" + +void signal_init_minishell(void) +{ + signal(SIGINT, sigint_minishell_handler); + signal(SIGQUIT, SIG_IGN); +} + +void signal_init_parent(void) +{ + signal(SIGINT, sig_parent_handler); + signal(SIGQUIT, sig_parent_handler); +} + +void signal_init_child(void) +{ + signal(SIGINT, SIG_DFL); + signal(SIGQUIT, SIG_DFL); +} + +void signal_init_heredoc(void) +{ + signal(SIGINT, sigint_heredoc_handler); + signal(SIGQUIT, SIG_IGN); +} diff --git a/src/utils/check_malloc.c b/src/utils/check_malloc.c index 4607767..72cff69 100644 --- a/src/utils/check_malloc.c +++ b/src/utils/check_malloc.c @@ -12,10 +12,9 @@ #include "minishell.h" - -void check_malloc(t_minishell *minishell, void *ptr) +void check_malloc(t_minishell *minishell, void *ptr) { - t_list *new; + t_list *new; if (ptr == NULL) { diff --git a/src/utils/error_msg.c b/src/utils/error_msg.c index 6442019..2ce1ed1 100644 --- a/src/utils/error_msg.c +++ b/src/utils/error_msg.c @@ -12,7 +12,6 @@ #include "minishell.h" - void error_msg(char *func, char *msg) { if (errno) diff --git a/src/utils/free_minishell.c b/src/utils/free_minishell.c index 1b8e567..fc4db5a 100644 --- a/src/utils/free_minishell.c +++ b/src/utils/free_minishell.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:03:57 by whaffman #+# #+# */ -/* Updated: 2025/02/25 16:02:57 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:43:00 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -14,10 +14,6 @@ void free_minishell(t_minishell **minishell) { - // if ((*minishell)->line) - // free_minishell_line(*minishell); - // if ((*minishell)->environment) - // environment_free_list(*minishell); free_freelist(*minishell); free(*minishell); *minishell = NULL; diff --git a/src/utils/free_safe.c b/src/utils/free_safe.c index bae7ef2..53faa28 100644 --- a/src/utils/free_safe.c +++ b/src/utils/free_safe.c @@ -6,16 +6,12 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 15:09:34 by whaffman #+# #+# */ -/* Updated: 2025/02/25 18:06:06 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:43:08 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -#include -#include -#include - void free_safe(t_minishell *minishell, void **ptr) { diff --git a/src/utils/ft_strjoin_safe.c b/src/utils/ft_strjoin_safe.c index 655c85b..cf596c8 100644 --- a/src/utils/ft_strjoin_safe.c +++ b/src/utils/ft_strjoin_safe.c @@ -20,4 +20,3 @@ char *ft_strjoin_safe(t_minishell *minishell, const char *s1, const char *s2) check_malloc(minishell, new_str); return (new_str); } - From 5d01cf308624c9a809da3f29ff0cffdd2faf5cd5 Mon Sep 17 00:00:00 2001 From: whaffman Date: Wed, 26 Feb 2025 16:17:07 +0100 Subject: [PATCH 3/5] minishell -> msh --- inc/builtin.h | 18 +++++----- inc/debug.h | 2 +- inc/environment.h | 18 +++++----- inc/executor.h | 16 ++++----- inc/expander.h | 10 +++--- inc/parser.h | 6 ++-- inc/prompt.h | 4 +-- inc/redirect.h | 6 ++-- inc/tokenizer.h | 20 +++++------ inc/utils.h | 26 +++++++------- sources.mk | 43 ++++++++++++------------ src/builtin/builtin_cd.c | 6 ++-- src/builtin/builtin_echo.c | 6 ++-- src/builtin/builtin_env.c | 6 ++-- src/builtin/builtin_exit.c | 6 ++-- src/builtin/builtin_export.c | 12 +++---- src/builtin/builtin_pwd.c | 20 +++++------ src/builtin/builtin_router.c | 6 ++-- src/builtin/builtin_unset.c | 8 ++--- src/builtin/simple_builtins.c | 10 +++--- src/debug/print_freelist.c | 6 ++-- src/environment/environment_add.c | 16 ++++----- src/environment/environment_del.c | 12 +++---- src/environment/environment_free.c | 10 +++--- src/environment/environment_free_list.c | 8 ++--- src/environment/environment_get.c | 6 ++-- src/environment/environment_get_arr.c | 10 +++--- src/environment/environment_parse.c | 6 ++-- src/environment/environment_print.c | 6 ++-- src/executor/executor_absolute_path.c | 12 +++---- src/executor/executor_child.c | 8 ++--- src/executor/executor_count_fds.c | 6 ++-- src/executor/executor_create_pipes.c | 2 +- src/executor/executor_create_redirects.c | 6 ++-- src/executor/executor_execute_pipeline.c | 14 ++++---- src/executor/executor_fork.c | 6 ++-- src/expander/expander_allocate_memory.c | 6 ++-- src/expander/expander_get_variable.c | 8 ++--- src/expander/expander_parse_string.c | 14 ++++---- src/expander/expander_parse_variables.c | 10 +++--- src/lexer/lexer_new.c | 10 +++--- src/lexer/lexer_parse_input.c | 12 +++---- src/lexer/lexer_read_word.c | 14 ++++---- src/lexer/lexer_token_next.c | 18 +++++----- src/main.c | 26 +++++++------- src/parser/parser_get_arguments.c | 10 +++--- src/parser/parser_get_commands.c | 18 +++++----- src/parser/parser_new_command.c | 6 ++-- src/prompt/prompt.c | 40 +++++++++++----------- src/redirect/redirect_get_inputs.c | 12 +++---- src/token/token_new.c | 8 ++--- src/token/token_parse.c | 6 ++-- src/utils/check_malloc.c | 8 ++--- src/utils/error_msg.c | 4 +-- src/utils/free_command_list.c | 26 +++++++------- src/utils/free_freelist.c | 8 ++--- src/utils/free_lexer.c | 8 ++--- src/utils/free_minishell.c | 10 +++--- src/utils/free_minishell_line.c | 20 +++++------ src/utils/free_safe.c | 8 ++--- src/utils/free_token.c | 8 ++--- src/utils/free_token_list.c | 6 ++-- src/utils/ft_lstclear_safe.c | 12 +++---- src/utils/ft_lstnew_safe.c | 8 ++--- src/utils/ft_strdup_safe.c | 4 +-- src/utils/ft_strjoin_safe.c | 4 +-- src/utils/init_minishell.c | 24 ++++++------- src/utils/malloc_safe.c | 4 +-- 68 files changed, 382 insertions(+), 381 deletions(-) diff --git a/inc/builtin.h b/inc/builtin.h index b9c8182..1ceac33 100644 --- a/inc/builtin.h +++ b/inc/builtin.h @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:09:02 by whaffman #+# #+# */ -/* Updated: 2025/02/20 11:38:58 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:44:47 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -15,13 +15,13 @@ # include "minishell.h" int is_builtin(char *cmd); -int builtin_router(t_minishell *minishell, t_command *cmd); -int builtin_echo(t_minishell *minishell, t_command *cmd); -int builtin_cd(t_minishell *minishell, t_command *cmd); -int builtin_pwd(t_minishell *minishell, t_command *cmd); -int builtin_export(t_minishell *minishell, t_command *cmd); -int builtin_unset(t_minishell *minishell, t_command *cmd); -int builtin_env(t_minishell *minishell, t_command *cmd); -int builtin_exit(t_minishell *minishell, t_command *cmd); +int builtin_router(t_minishell *msh, t_command *cmd); +int builtin_echo(t_minishell *msh, t_command *cmd); +int builtin_cd(t_minishell *msh, t_command *cmd); +int builtin_pwd(t_minishell *msh, t_command *cmd); +int builtin_export(t_minishell *msh, t_command *cmd); +int builtin_unset(t_minishell *msh, t_command *cmd); +int builtin_env(t_minishell *msh, t_command *cmd); +int builtin_exit(t_minishell *msh, t_command *cmd); #endif // BUILTIN_H diff --git a/inc/debug.h b/inc/debug.h index 9cc9cea..fc287f5 100644 --- a/inc/debug.h +++ b/inc/debug.h @@ -18,6 +18,6 @@ void print_commands(void *param); void token_print(void *param); void print_redirects(void *param); -void print_freelist(t_minishell *minishell); +void print_freelist(t_minishell *msh); #endif diff --git a/inc/environment.h b/inc/environment.h index f1f1439..6d0e160 100644 --- a/inc/environment.h +++ b/inc/environment.h @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:26:35 by whaffman #+# #+# */ -/* Updated: 2025/02/25 15:19:01 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:44:49 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -15,14 +15,14 @@ # include "minishell.h" -void environment_add(t_minishell *minishell, +void environment_add(t_minishell *msh, char *name, char *value); -void environment_print(t_minishell *minishell); -t_environment *environment_get(t_minishell *minishell, char *name); -void environment_free_list(t_minishell *minishell); -int environment_parse(t_minishell *minishell, char **envp); -char **environment_get_arr(t_minishell *minishell); -void environment_del(t_minishell *minishell, char *name); -void environment_free(t_minishell *minishell, void *content); +void environment_print(t_minishell *msh); +t_environment *environment_get(t_minishell *msh, char *name); +void environment_free_list(t_minishell *msh); +int environment_parse(t_minishell *msh, char **envp); +char **environment_get_arr(t_minishell *msh); +void environment_del(t_minishell *msh, char *name); +void environment_free(t_minishell *msh, void *content); #endif // ENVIRONMENT_H diff --git a/inc/executor.h b/inc/executor.h index d305646..6799399 100644 --- a/inc/executor.h +++ b/inc/executor.h @@ -6,7 +6,7 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/08 17:06:07 by willem #+# #+# */ -/* Updated: 2025/02/25 13:52:05 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:45:17 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -15,14 +15,14 @@ # include "minishell.h" -char *executor_absolute_path(t_minishell *minishell, char *cmd); -void executor_child(t_minishell *minishell, t_command *command); -pid_t executor_fork(t_minishell *minishell, t_command *command); -void executor_create_pipes(t_minishell *minishell); -int executor_execute_pipeline(t_minishell *minishell); +char *executor_absolute_path(t_minishell *msh, char *cmd); +void executor_child(t_minishell *msh, t_command *command); +pid_t executor_fork(t_minishell *msh, t_command *command); +void executor_create_pipes(t_minishell *msh); +int executor_execute_pipeline(t_minishell *msh); void executor_close_fds(int n_fds); -int executor_count_fds(t_minishell *minishell); +int executor_count_fds(t_minishell *msh); int executor_open_fds(t_list *redirect_list, int og_fd); -void executor_create_redirects(t_minishell *minishell); +void executor_create_redirects(t_minishell *msh); #endif // EXECUTOR_H diff --git a/inc/expander.h b/inc/expander.h index db6158a..82f4b4b 100644 --- a/inc/expander.h +++ b/inc/expander.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/18 19:00:51 by qmennen #+# #+# */ -/* Updated: 2025/02/25 14:32:18 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:45:19 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -16,14 +16,14 @@ # include "minishell.h" t_environment *expander_get_var(const char *s, int idx, - t_minishell *minishell); + t_minishell *msh); t_list *expander_parse_variables(const char *s, - t_minishell *minishell); + t_minishell *msh); char *expander_allocate_memory( - t_minishell *minishell, + t_minishell *msh, const char *s, t_list *variables); -char *expander_parse_string(char *s, t_minishell *minishell); +char *expander_parse_string(char *s, t_minishell *msh); int expander_character_valid(const char c); int expander_expand_dollar(char *src, char *dest, int *j, t_list *variables); diff --git a/inc/parser.h b/inc/parser.h index 13250e4..c2aff32 100644 --- a/inc/parser.h +++ b/inc/parser.h @@ -15,9 +15,9 @@ # include "minishell.h" -t_command *parser_command_new(t_minishell *minishell, char *cmd); -char **parser_get_arguments(t_list *list, t_minishell *minishell); -t_list *parser_get_commands(t_minishell *minishell); +t_command *parser_command_new(t_minishell *msh, char *cmd); +char **parser_get_arguments(t_list *list, t_minishell *msh); +t_list *parser_get_commands(t_minishell *msh); t_list *parser_get_input_redirects(t_list *list); #endif diff --git a/inc/prompt.h b/inc/prompt.h index 3ed41c4..efdb11a 100644 --- a/inc/prompt.h +++ b/inc/prompt.h @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:35:35 by whaffman #+# #+# */ -/* Updated: 2025/02/12 12:54:01 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:45:22 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -16,7 +16,7 @@ # include "minishell.h" void print_banner(void); -char *ft_prompt(t_minishell *minishell); +char *ft_prompt(t_minishell *msh); void history_write(char *line); void history_load(void); diff --git a/inc/redirect.h b/inc/redirect.h index d9b5911..2068b97 100644 --- a/inc/redirect.h +++ b/inc/redirect.h @@ -14,9 +14,9 @@ # define REDIRECT_H # include "minishell.h" -t_redirect *redirect_new(t_minishell *minishell, t_token_type type, char *value); -t_list *redirect_get_inputs(t_minishell *minishell, t_list *list); -t_list *redirect_get_outputs(t_minishell *minishell, t_list *list); +t_redirect *redirect_new(t_minishell *msh, t_token_type type, char *value); +t_list *redirect_get_inputs(t_minishell *msh, t_list *list); +t_list *redirect_get_outputs(t_minishell *msh, t_list *list); int redirect_is_valid(t_list *lst, t_token *token); int redirect_token_type(t_token *token); int redirect_is_delimiter(t_token *token); diff --git a/inc/tokenizer.h b/inc/tokenizer.h index 1b2e7d4..cfd415e 100644 --- a/inc/tokenizer.h +++ b/inc/tokenizer.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 12:36:00 by whaffman #+# #+# */ -/* Updated: 2025/02/25 16:19:05 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:45:26 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -16,18 +16,18 @@ /** * Lexer */ -t_lexer *ft_lexer_new(t_minishell *minishell); -void ft_lexer_free(t_minishell *minishell, t_lexer *lexer); +t_lexer *ft_lexer_new(t_minishell *msh); +void ft_lexer_free(t_minishell *msh, t_lexer *lexer); void lexer_readchar(t_lexer *lexer); -char *lexer_readword(t_minishell *minishell, t_lexer *lexer); -t_list *ft_parse_input(t_minishell *minishell); +char *lexer_readword(t_minishell *msh, t_lexer *lexer); +t_list *ft_parse_input(t_minishell *msh); /** * Token */ -t_token *ft_token_next(t_minishell *minishell, t_lexer *lexer); -t_token *token_new(t_minishell *minishell, t_token_type type, char *c, int pos); -void ft_token_free(t_minishell *minishell, t_token *token); -void ft_clear_tokenlist(t_minishell *minishell, void *content); -t_token *token_parse(t_minishell *minishell, t_lexer *lexer); +t_token *ft_token_next(t_minishell *msh, t_lexer *lexer); +t_token *token_new(t_minishell *msh, t_token_type type, char *c, int pos); +void ft_token_free(t_minishell *msh, t_token *token); +void ft_clear_tokenlist(t_minishell *msh, void *content); +t_token *token_parse(t_minishell *msh, t_lexer *lexer); #endif // TOKENIZER_H diff --git a/inc/utils.h b/inc/utils.h index 274ba80..a74ffdd 100644 --- a/inc/utils.h +++ b/inc/utils.h @@ -13,23 +13,23 @@ #ifndef UTILS_H # define UTILS_H -void free_minishell_line(t_minishell *minishell); -void free_minishell(t_minishell **minishell); -void free_command_list(t_minishell *minishell, void *content); +void free_minishell_line(t_minishell *msh); +void free_minishell(t_minishell **msh); +void free_command_list(t_minishell *msh, void *content); t_minishell *init_minishell(void); void print_banner(void); void print_list(void *content); -void simple_builtins(t_minishell *minishell); +void simple_builtins(t_minishell *msh); void error_msg(char *func, char *msg); -void check_malloc(t_minishell *minishell, void *ptr); -char *ft_strdup_safe(t_minishell *minishell, const char *str); -char *ft_strjoin_safe(t_minishell *minishell, +void check_malloc(t_minishell *msh, void *ptr); +char *ft_strdup_safe(t_minishell *msh, const char *str); +char *ft_strjoin_safe(t_minishell *msh, const char *s1, const char *s2); -void *malloc_safe(t_minishell *minishell, size_t size); -void free_safe(t_minishell *minishell, void **ptr); -void free_freelist(t_minishell *minishell); -void ft_lstclear_safe(t_minishell *minishell, t_list **lst, - void (*del)(t_minishell *minishell, void *)); -t_list *ft_lstnew_safe(t_minishell *minishell, void *content); +void *malloc_safe(t_minishell *msh, size_t size); +void free_safe(t_minishell *msh, void **ptr); +void free_freelist(t_minishell *msh); +void ft_lstclear_safe(t_minishell *msh, t_list **lst, + void (*del)(t_minishell *msh, void *)); +t_list *ft_lstnew_safe(t_minishell *msh, void *content); #endif // UTILS_H diff --git a/sources.mk b/sources.mk index 9930b49..5fc189d 100644 --- a/sources.mk +++ b/sources.mk @@ -1,22 +1,23 @@ VPATH = src:src/prompt:src/utils:src/lexer:src/token:src/environment:src/executor:src/parser:src/signal:src/debug:src/expander:src/builtin:src/redirect: -SOURCES = history_load.c history_write.c prompt.c ft_lstclear_safe.c \ -ft_lstnew_safe.c ft_strdup_safe.c ft_strjoin_safe.c init_minishell.c \ -malloc_safe.c free_minishell_line.c free_safe.c print_banner.c \ -error_msg.c check_malloc.c free_command_list.c free_freelist.c \ -free_lexer.c free_minishell.c free_token.c free_token_list.c \ -lexer_read_char.c lexer_new.c lexer_parse_input.c lexer_read_word.c \ -lexer_token_next.c token_new.c token_parse.c environment_add.c \ -environment_del.c environment_free.c environment_free_list.c \ -environment_get.c environment_get_arr.c environment_print.c \ -environment_parse.c executor_close_fds.c executor_absolute_path.c \ -executor_child.c executor_count_fds.c executor_create_pipes.c \ -executor_create_redirects.c executor_fork.c executor_open_fds.c \ -executor_execute_pipeline.c parser_get_commands.c \ -parser_new_command.c parser_get_arguments.c signal.c print_freelist.c \ -print_commands.c expander_expand_dollar.c expander_is_character.c \ -expander_get_variable.c expander_parse_string.c \ -expander_parse_variables.c expander_allocate_memory.c builtin_echo.c \ -builtin_router.c simple_builtins.c is_builtin.c builtin_cd.c \ -builtin_env.c builtin_export.c builtin_unset.c builtin_pwd.c \ -builtin_exit.c redirect_valid_type.c redirect_get_outputs.c \ -redirect_new.c redirect_get_inputs.c main.c \ +SOURCES = history_load.c history_write.c prompt.c init_minishell.c \ +print_banner.c check_malloc.c free_command_list.c free_freelist.c \ +free_lexer.c free_minishell_line.c free_safe.c free_token.c \ +free_token_list.c ft_lstclear_safe.c ft_lstnew_safe.c \ +ft_strdup_safe.c ft_strjoin_safe.c malloc_safe.c error_msg.c \ +free_minishell.c lexer_read_char.c lexer_new.c lexer_parse_input.c \ +lexer_read_word.c lexer_token_next.c token_new.c token_parse.c \ +environment_add.c environment_del.c environment_free.c \ +environment_free_list.c environment_get.c environment_get_arr.c \ +environment_parse.c environment_print.c executor_close_fds.c \ +executor_open_fds.c executor_absolute_path.c executor_child.c \ +executor_count_fds.c executor_create_pipes.c \ +executor_create_redirects.c executor_execute_pipeline.c \ +executor_fork.c parser_get_arguments.c parser_get_commands.c \ +parser_new_command.c signal.c signal_init.c.c print_commands.c \ +print_freelist.c expander_expand_dollar.c expander_is_character.c \ +expander_allocate_memory.c expander_parse_string.c \ +expander_parse_variables.c expander_get_variable.c is_builtin.c \ +builtin_cd.c builtin_echo.c builtin_env.c builtin_exit.c \ +builtin_export.c builtin_pwd.c builtin_router.c builtin_unset.c \ +simple_builtins.c redirect_valid_type.c redirect_new.c \ +redirect_get_inputs.c redirect_get_outputs.c main.c \ diff --git a/src/builtin/builtin_cd.c b/src/builtin/builtin_cd.c index 1075101..f2a5006 100644 --- a/src/builtin/builtin_cd.c +++ b/src/builtin/builtin_cd.c @@ -6,20 +6,20 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:33:07 by whaffman #+# #+# */ -/* Updated: 2025/02/25 13:57:57 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:45:55 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_cd(t_minishell *minishell, t_command *cmd) +int builtin_cd(t_minishell *msh, t_command *cmd) { t_environment *env; char *path; if (cmd->args[1] == NULL) { - env = environment_get(minishell, "HOME"); + env = environment_get(msh, "HOME"); if (env == NULL || env->value == NULL) { ft_putendl_fd("minishell: cd: HOME not set", STDERR_FILENO); diff --git a/src/builtin/builtin_echo.c b/src/builtin/builtin_echo.c index cd545b3..8a2da83 100644 --- a/src/builtin/builtin_echo.c +++ b/src/builtin/builtin_echo.c @@ -6,18 +6,18 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:33:05 by whaffman #+# #+# */ -/* Updated: 2025/02/20 12:37:42 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:46:29 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_echo(t_minishell *minishell, t_command *cmd) +int builtin_echo(t_minishell *msh, t_command *cmd) { int i; int n_flag; - (void)minishell; + (void)msh; i = 1; n_flag = 0; if (cmd->args[i] != NULL && ft_strncmp(cmd->args[i], "-n", 3) == 0) diff --git a/src/builtin/builtin_env.c b/src/builtin/builtin_env.c index 0888c66..2b92fa8 100644 --- a/src/builtin/builtin_env.c +++ b/src/builtin/builtin_env.c @@ -6,15 +6,15 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:33:02 by whaffman #+# #+# */ -/* Updated: 2025/02/25 13:57:49 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:46:55 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_env(t_minishell *minishell, t_command *cmd) +int builtin_env(t_minishell *msh, t_command *cmd) { (void)cmd; - environment_print(minishell); + environment_print(msh); return (SUCCESS); } diff --git a/src/builtin/builtin_exit.c b/src/builtin/builtin_exit.c index 4dcb622..adf39cf 100644 --- a/src/builtin/builtin_exit.c +++ b/src/builtin/builtin_exit.c @@ -6,14 +6,14 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/20 11:32:59 by whaffman #+# #+# */ -/* Updated: 2025/02/26 15:19:51 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:47:14 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" //TODO EXIT last exit status r:20 -int builtin_exit(t_minishell *minishell, t_command *cmd) +int builtin_exit(t_minishell *msh, t_command *cmd) { int exit_status; @@ -36,7 +36,7 @@ int builtin_exit(t_minishell *minishell, t_command *cmd) } exit_status = ft_atoi(cmd->args[1]); } - free_minishell(&minishell); + free_minishell(&msh); rl_clear_history(); exit(exit_status); return (FAILURE); diff --git a/src/builtin/builtin_export.c b/src/builtin/builtin_export.c index c803956..8b1120b 100644 --- a/src/builtin/builtin_export.c +++ b/src/builtin/builtin_export.c @@ -6,13 +6,13 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:32:53 by whaffman #+# #+# */ -/* Updated: 2025/02/25 16:39:13 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 15:49:16 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_export(t_minishell *minishell, t_command *cmd) +int builtin_export(t_minishell *msh, t_command *cmd) { t_environment *env; char **arr; @@ -28,14 +28,14 @@ int builtin_export(t_minishell *minishell, t_command *cmd) i++; continue ; } - env = environment_get(minishell, arr[0]); + env = environment_get(msh, arr[0]); if (env != NULL) { - free_safe(minishell, (void **)&(env->value)); - env->value = ft_strdup_safe(minishell, arr[1]); + free_safe(msh, (void **)&(env->value)); + env->value = ft_strdup_safe(msh, arr[1]); } else - environment_add(minishell, arr[0], arr[1]); + environment_add(msh, arr[0], arr[1]); ft_free_arr(arr); i++; } diff --git a/src/builtin/builtin_pwd.c b/src/builtin/builtin_pwd.c index bbf57d1..480086b 100644 --- a/src/builtin/builtin_pwd.c +++ b/src/builtin/builtin_pwd.c @@ -1,25 +1,25 @@ /* ************************************************************************** */ /* */ -/* ::: :::::::: */ -/* builtin_pwd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: qmennen +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2025/02/20 11:32:28 by whaffman #+# #+# */ -/* Updated: 2025/02/25 20:07:22 by qmennen ### ########.fr */ +/* :::::::: */ +/* builtin_pwd.c :+: :+: */ +/* +:+ */ +/* By: qmennen +#+ */ +/* +#+ */ +/* Created: 2025/02/20 11:32:28 by whaffman #+# #+# */ +/* Updated: 2025/02/26 16:06:09 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_pwd(t_minishell *minishell, t_command *cmd) +int builtin_pwd(t_minishell *msh, t_command *cmd) { char *cwd; - (void)minishell; + (void)msh; (void)cmd; cwd = getcwd(NULL, 0); printf("%s\n", cwd); - free_safe(minishell, (void **)&(cwd)); + free_safe(msh, (void **)&(cwd)); return (SUCCESS); } diff --git a/src/builtin/builtin_router.c b/src/builtin/builtin_router.c index d28be54..5e5aa8c 100644 --- a/src/builtin/builtin_router.c +++ b/src/builtin/builtin_router.c @@ -6,13 +6,13 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:12:38 by whaffman #+# #+# */ -/* Updated: 2025/02/20 13:56:10 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:06:18 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_router(t_minishell *minishell, t_command *cmd) +int builtin_router(t_minishell *msh, t_command *cmd) { const t_builtin_fn builtin_fn[] = { builtin_echo, @@ -25,6 +25,6 @@ int builtin_router(t_minishell *minishell, t_command *cmd) if (!is_builtin(cmd->args[0])) return (FALSE); - builtin_fn[is_builtin(cmd->args[0])](minishell, cmd); + builtin_fn[is_builtin(cmd->args[0])](msh, cmd); return (TRUE); } diff --git a/src/builtin/builtin_unset.c b/src/builtin/builtin_unset.c index 474e2ea..8dae319 100644 --- a/src/builtin/builtin_unset.c +++ b/src/builtin/builtin_unset.c @@ -6,21 +6,21 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/20 11:25:43 by whaffman #+# #+# */ -/* Updated: 2025/02/25 13:57:29 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:07:21 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int builtin_unset(t_minishell *minishell, t_command *cmd) +int builtin_unset(t_minishell *msh, t_command *cmd) { int i; i = 1; while (cmd->args[i] != NULL) { - if (environment_get(minishell, cmd->args[i]) != NULL) - environment_del(minishell, cmd->args[i]); + if (environment_get(msh, cmd->args[i]) != NULL) + environment_del(msh, cmd->args[i]); i++; } return (SUCCESS); diff --git a/src/builtin/simple_builtins.c b/src/builtin/simple_builtins.c index b83fbbe..296ddf9 100644 --- a/src/builtin/simple_builtins.c +++ b/src/builtin/simple_builtins.c @@ -6,16 +6,16 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:21:39 by whaffman #+# #+# */ -/* Updated: 2025/02/26 14:42:54 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:08:49 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void simple_builtins(t_minishell *minishell) +void simple_builtins(t_minishell *msh) { - if (minishell->commands == NULL) + if (msh->commands == NULL) return ; - if (!builtin_router(minishell, minishell->commands->content)) - executor_execute_pipeline(minishell); + if (!builtin_router(msh, msh->commands->content)) + executor_execute_pipeline(msh); } diff --git a/src/debug/print_freelist.c b/src/debug/print_freelist.c index 7a74220..2cce7e9 100644 --- a/src/debug/print_freelist.c +++ b/src/debug/print_freelist.c @@ -6,13 +6,13 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 15:46:03 by whaffman #+# #+# */ -/* Updated: 2025/02/26 14:44:46 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:08:53 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void print_freelist(t_minishell *minishell) +void print_freelist(t_minishell *msh) { t_list *freelist; int i; @@ -20,7 +20,7 @@ void print_freelist(t_minishell *minishell) if (!DEBUG) return ; i = 0; - freelist = minishell->freelist; + freelist = msh->freelist; while (freelist) { printf("%d: %p\n", i, freelist->content); diff --git a/src/environment/environment_add.c b/src/environment/environment_add.c index feb6815..32049d0 100644 --- a/src/environment/environment_add.c +++ b/src/environment/environment_add.c @@ -6,32 +6,32 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:13:33 by whaffman #+# #+# */ -/* Updated: 2025/02/25 16:50:12 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:07 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void environment_add(t_minishell *minishell, char *name, char *value) +void environment_add(t_minishell *msh, char *name, char *value) { t_environment *new_environment; t_list *new_node; t_list **environment; - environment = &minishell->environment; + environment = &msh->environment; if (name != NULL && value != NULL) { - new_environment = malloc_safe(minishell, sizeof(t_environment)); + new_environment = malloc_safe(msh, sizeof(t_environment)); if (new_environment == NULL) return (perror("malloc")); - new_environment->name = ft_strdup_safe(minishell, name); - new_environment->value = ft_strdup_safe(minishell, value); - new_node = ft_lstnew_safe(minishell, new_environment); + new_environment->name = ft_strdup_safe(msh, name); + new_environment->value = ft_strdup_safe(msh, value); + new_node = ft_lstnew_safe(msh, new_environment); if (new_node == NULL || new_environment->name == NULL || new_environment->value == NULL) { - environment_free(minishell, new_environment); + environment_free(msh, new_environment); return (perror("malloc")); } ft_lstadd_back(environment, new_node); diff --git a/src/environment/environment_del.c b/src/environment/environment_del.c index 87c56d8..3f5f85b 100644 --- a/src/environment/environment_del.c +++ b/src/environment/environment_del.c @@ -6,13 +6,13 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/11 14:17:53 by whaffman #+# #+# */ -/* Updated: 2025/02/25 15:19:14 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:12 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void environment_del(t_minishell *minishell, char *name) +void environment_del(t_minishell *msh, char *name) { t_list *prev; t_list *current; @@ -21,17 +21,17 @@ void environment_del(t_minishell *minishell, char *name) prev = NULL; next = NULL; - current = minishell->environment; + current = msh->environment; while (current != NULL) { env = (t_environment *)current->content; if (ft_strncmp(env->name, name, ft_strlen(name) + 1) == 0) { next = current->next; - environment_free(minishell, current->content); - free_safe(minishell, (void **)&(current)); + environment_free(msh, current->content); + free_safe(msh, (void **)&(current)); if (prev == NULL) - minishell->environment = next; + msh->environment = next; else prev->next = next; return ; diff --git a/src/environment/environment_free.c b/src/environment/environment_free.c index 79a4c1f..d00187a 100644 --- a/src/environment/environment_free.c +++ b/src/environment/environment_free.c @@ -6,18 +6,18 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/11 15:38:43 by whaffman #+# #+# */ -/* Updated: 2025/02/25 15:18:45 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:17 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void environment_free(t_minishell *minishell, void *content) +void environment_free(t_minishell *msh, void *content) { t_environment *env; env = (t_environment *)content; - free_safe(minishell, (void **)&(env->name)); - free_safe(minishell, (void **)&(env->value)); - free_safe(minishell, (void **)&(env)); + free_safe(msh, (void **)&(env->name)); + free_safe(msh, (void **)&(env->value)); + free_safe(msh, (void **)&(env)); } diff --git a/src/environment/environment_free_list.c b/src/environment/environment_free_list.c index 741fd4b..bb35108 100644 --- a/src/environment/environment_free_list.c +++ b/src/environment/environment_free_list.c @@ -6,18 +6,18 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:13:59 by whaffman #+# #+# */ -/* Updated: 2025/02/25 15:24:08 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:15 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void environment_free_list(t_minishell *minishell) +void environment_free_list(t_minishell *msh) { t_list **lst; t_list *next; - lst = &minishell->environment; + lst = &msh->environment; if (!lst) return ; while (*lst) @@ -26,7 +26,7 @@ void environment_free_list(t_minishell *minishell) next = (*lst)->next; else next = NULL; - environment_free(minishell, (*lst)->content); + environment_free(msh, (*lst)->content); free(*lst); *lst = next; } diff --git a/src/environment/environment_get.c b/src/environment/environment_get.c index beb2315..882d082 100644 --- a/src/environment/environment_get.c +++ b/src/environment/environment_get.c @@ -6,18 +6,18 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:15:05 by whaffman #+# #+# */ -/* Updated: 2025/02/25 13:35:13 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:22 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_environment *environment_get(t_minishell *minishell, char *name) +t_environment *environment_get(t_minishell *msh, char *name) { t_environment *env; t_list *environment; - environment = minishell->environment; + environment = msh->environment; while (environment != NULL) { env = (t_environment *)environment->content; diff --git a/src/environment/environment_get_arr.c b/src/environment/environment_get_arr.c index 9746792..d9d2034 100644 --- a/src/environment/environment_get_arr.c +++ b/src/environment/environment_get_arr.c @@ -6,27 +6,27 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/08 13:59:48 by willem #+# #+# */ -/* Updated: 2025/02/26 14:45:35 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:20 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -char **environment_get_arr(t_minishell *minishell) +char **environment_get_arr(t_minishell *msh) { char **arr; t_environment *env; int i; t_list *environment; - environment = minishell->environment; - arr = malloc_safe(minishell, + environment = msh->environment; + arr = malloc_safe(msh, sizeof(char *) * (ft_lstsize(environment) + 1)); i = 0; while (environment != NULL) { env = (t_environment *)environment->content; - arr[i] = malloc_safe(minishell, + arr[i] = malloc_safe(msh, ft_strlen(env->name) + ft_strlen(env->value) + 2); ft_strlcpy(arr[i], env->name, ft_strlen(env->name) + 1); ft_strlcat(arr[i], "=", ft_strlen(env->name) + 2); diff --git a/src/environment/environment_parse.c b/src/environment/environment_parse.c index e5a42a1..ba2e5e7 100644 --- a/src/environment/environment_parse.c +++ b/src/environment/environment_parse.c @@ -6,13 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 15:52:33 by whaffman #+# #+# */ -/* Updated: 2025/02/26 15:20:09 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:26 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int environment_parse(t_minishell *minishell, char **envp) +int environment_parse(t_minishell *msh, char **envp) { char **env; @@ -23,7 +23,7 @@ int environment_parse(t_minishell *minishell, char **envp) env = ft_split(*envp, '='); if (!env) return (FAILURE); - environment_add(minishell, env[0], env[1]); + environment_add(msh, env[0], env[1]); ft_free_arr(env); envp++; } diff --git a/src/environment/environment_print.c b/src/environment/environment_print.c index 7720ec4..d76c7d5 100644 --- a/src/environment/environment_print.c +++ b/src/environment/environment_print.c @@ -6,18 +6,18 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/08 13:52:08 by willem #+# #+# */ -/* Updated: 2025/02/25 13:39:45 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:35 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void environment_print(t_minishell *minishell) +void environment_print(t_minishell *msh) { char **arr; int i; - arr = environment_get_arr(minishell); + arr = environment_get_arr(msh); i = 0; while (arr[i] != NULL) { diff --git a/src/executor/executor_absolute_path.c b/src/executor/executor_absolute_path.c index b868227..a193c46 100644 --- a/src/executor/executor_absolute_path.c +++ b/src/executor/executor_absolute_path.c @@ -6,13 +6,13 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/08 17:00:24 by willem #+# #+# */ -/* Updated: 2025/02/25 16:39:59 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:42 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -char *executor_absolute_path(t_minishell *minishell, char *cmd) +char *executor_absolute_path(t_minishell *msh, char *cmd) { char **path; t_environment *path_env; @@ -23,21 +23,21 @@ char *executor_absolute_path(t_minishell *minishell, char *cmd) { if (access(cmd, F_OK) == 0) { - executable = ft_strdup_safe(minishell, cmd); + executable = ft_strdup_safe(msh, cmd); if (!executable) return (NULL); return (executable); } return (NULL); } - path_env = environment_get(minishell, "PATH"); + path_env = environment_get(msh, "PATH"); if (!path_env) return (NULL); path = ft_split(path_env->value, ':'); i = 0; while (path[i] != NULL) { - executable = malloc_safe(minishell, ft_strlen(path[i]) + ft_strlen(cmd) + 2); + executable = malloc_safe(msh, ft_strlen(path[i]) + ft_strlen(cmd) + 2); ft_strlcpy(executable, path[i], ft_strlen(path[i]) + 1); ft_strlcat(executable, "/", ft_strlen(path[i]) + 2); ft_strlcat(executable, cmd, ft_strlen(path[i]) + ft_strlen(cmd) + 2); @@ -46,7 +46,7 @@ char *executor_absolute_path(t_minishell *minishell, char *cmd) ft_free_arr(path); return (executable); } - free_safe(minishell, (void **)&executable); + free_safe(msh, (void **)&executable); i++; } return (ft_free_arr(path), NULL); diff --git a/src/executor/executor_child.c b/src/executor/executor_child.c index 549cdcb..27f1d7c 100644 --- a/src/executor/executor_child.c +++ b/src/executor/executor_child.c @@ -6,13 +6,13 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/12 21:25:10 by willem #+# #+# */ -/* Updated: 2025/02/26 15:20:25 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:44 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void executor_child(t_minishell *minishell, t_command *command) +void executor_child(t_minishell *msh, t_command *command) { char *path; @@ -21,7 +21,7 @@ void executor_child(t_minishell *minishell, t_command *command) if (command->fd_out != 1) dup2(command->fd_out, 1); executor_close_fds(command->n_fds); - path = executor_absolute_path(minishell, command->command); + path = executor_absolute_path(msh, command->command); if (path == NULL) { ft_putstr_fd(RED BOLD, 2); @@ -29,5 +29,5 @@ void executor_child(t_minishell *minishell, t_command *command) ft_putstr_fd(": " RESET "command not found\n", 2); return ; } - execve(path, command->args, environment_get_arr(minishell)); + execve(path, command->args, environment_get_arr(msh)); } diff --git a/src/executor/executor_count_fds.c b/src/executor/executor_count_fds.c index 0fcf5f9..a2d72be 100644 --- a/src/executor/executor_count_fds.c +++ b/src/executor/executor_count_fds.c @@ -6,19 +6,19 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/21 12:42:26 by whaffman #+# #+# */ -/* Updated: 2025/02/26 15:20:33 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:09:45 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int executor_count_fds(t_minishell *minishell) +int executor_count_fds(t_minishell *msh) { int count; t_list *current; t_command *command; - current = minishell->commands; + current = msh->commands; count = (ft_lstsize(current) - 1) * 2; while (current) { diff --git a/src/executor/executor_create_pipes.c b/src/executor/executor_create_pipes.c index 4a17eec..4a9eb45 100644 --- a/src/executor/executor_create_pipes.c +++ b/src/executor/executor_create_pipes.c @@ -6,7 +6,7 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/12 21:25:22 by willem #+# #+# */ -/* Updated: 2025/02/25 14:19:57 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:10:19 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ diff --git a/src/executor/executor_create_redirects.c b/src/executor/executor_create_redirects.c index 86388e1..eb8087b 100644 --- a/src/executor/executor_create_redirects.c +++ b/src/executor/executor_create_redirects.c @@ -6,18 +6,18 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/21 13:00:00 by whaffman #+# #+# */ -/* Updated: 2025/02/21 13:16:03 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:10:35 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void executor_create_redirects(t_minishell *minishell) +void executor_create_redirects(t_minishell *msh) { t_list *current; t_command *cmd; - current = minishell->commands; + current = msh->commands; while (current) { cmd = (t_command *)current->content; diff --git a/src/executor/executor_execute_pipeline.c b/src/executor/executor_execute_pipeline.c index 7e3335b..623a29a 100644 --- a/src/executor/executor_execute_pipeline.c +++ b/src/executor/executor_execute_pipeline.c @@ -6,28 +6,28 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/12 21:25:02 by willem #+# #+# */ -/* Updated: 2025/02/25 13:52:35 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:10:39 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -int executor_execute_pipeline(t_minishell *minishell) +int executor_execute_pipeline(t_minishell *msh) { t_list *current; t_command *command; pid_t last_pid; int exit_status; - executor_create_pipes(minishell); - executor_create_redirects(minishell); - current = minishell->commands; + executor_create_pipes(msh); + executor_create_redirects(msh); + current = msh->commands; last_pid = 0; while (current) { command = (t_command *)current->content; - command->environment = minishell->environment; - last_pid = executor_fork(minishell, command); + command->environment = msh->environment; + last_pid = executor_fork(msh, command); current = current->next; } waitpid(last_pid, &exit_status, 0); diff --git a/src/executor/executor_fork.c b/src/executor/executor_fork.c index 2c025a3..2af4345 100644 --- a/src/executor/executor_fork.c +++ b/src/executor/executor_fork.c @@ -6,14 +6,14 @@ /* By: willem +#+ */ /* +#+ */ /* Created: 2025/02/12 21:24:52 by willem #+# #+# */ -/* Updated: 2025/02/26 15:21:42 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:10:40 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" //TODO should parent close the fds? -pid_t executor_fork(t_minishell *minishell, t_command *command) +pid_t executor_fork(t_minishell *msh, t_command *command) { pid_t pid; @@ -29,7 +29,7 @@ pid_t executor_fork(t_minishell *minishell, t_command *command) else if (pid == 0) { signal_init_child(); - executor_child(minishell, command); + executor_child(msh, command); exit(127); } else diff --git a/src/expander/expander_allocate_memory.c b/src/expander/expander_allocate_memory.c index a323e4c..317466c 100644 --- a/src/expander/expander_allocate_memory.c +++ b/src/expander/expander_allocate_memory.c @@ -6,14 +6,14 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/19 13:57:19 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:22:11 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:10:42 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" char *expander_allocate_memory( - t_minishell *minishell, + t_minishell *msh, const char *s, t_list *variables) { @@ -36,6 +36,6 @@ char *expander_allocate_memory( current = current->next; } size += ft_strlen(s); - string = malloc_safe(minishell, size); + string = malloc_safe(msh, size); return (string); } diff --git a/src/expander/expander_get_variable.c b/src/expander/expander_get_variable.c index a899083..00012a3 100644 --- a/src/expander/expander_get_variable.c +++ b/src/expander/expander_get_variable.c @@ -6,13 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/19 13:59:03 by qmennen #+# #+# */ -/* Updated: 2025/02/25 15:26:36 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:12:29 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_environment *expander_get_var(const char *s, int idx, t_minishell *minishell) +t_environment *expander_get_var(const char *s, int idx, t_minishell *msh) { int i; t_environment *env; @@ -24,7 +24,7 @@ t_environment *expander_get_var(const char *s, int idx, t_minishell *minishell) name = ft_substr(s, idx, i); if (!name || !*name) return (NULL); - env = environment_get(minishell, name); - free_safe(minishell, (void **)&name); + env = environment_get(msh, name); + free_safe(msh, (void **)&name); return (env); } diff --git a/src/expander/expander_parse_string.c b/src/expander/expander_parse_string.c index 6546950..42a1bbd 100644 --- a/src/expander/expander_parse_string.c +++ b/src/expander/expander_parse_string.c @@ -6,13 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/18 19:00:35 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:22:54 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:13:40 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -static void free_variables(t_minishell *minishell, t_list *variables) +static void free_variables(t_minishell *msh, t_list *variables) { t_list *current; t_list *last; @@ -22,12 +22,12 @@ static void free_variables(t_minishell *minishell, t_list *variables) { last = current; current = current->next; - free_safe(minishell, (void **)&last); + free_safe(msh, (void **)&last); } } //TODO: Figure out why echo "> echo "\as"" breaks -char *expander_parse_string(char *s, t_minishell *minishell) +char *expander_parse_string(char *s, t_minishell *msh) { t_list *variables; t_list *current; @@ -35,8 +35,8 @@ char *expander_parse_string(char *s, t_minishell *minishell) int i; int j; - variables = expander_parse_variables(s, minishell); - string = expander_allocate_memory(minishell, s, variables); + variables = expander_parse_variables(s, msh); + string = expander_allocate_memory(msh, s, variables); i = 0; j = 0; current = variables; @@ -53,6 +53,6 @@ char *expander_parse_string(char *s, t_minishell *minishell) string[j++] = s[i++]; } string[j] = 0; - free_variables(minishell, variables); + free_variables(msh, variables); return (string); } diff --git a/src/expander/expander_parse_variables.c b/src/expander/expander_parse_variables.c index 69c6c5c..302966a 100644 --- a/src/expander/expander_parse_variables.c +++ b/src/expander/expander_parse_variables.c @@ -6,13 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/19 13:58:13 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:23:17 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:13:42 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_list *expander_parse_variables(const char *s, t_minishell *minishell) +t_list *expander_parse_variables(const char *s, t_minishell *msh) { int i; t_list *var_list; @@ -24,11 +24,11 @@ t_list *expander_parse_variables(const char *s, t_minishell *minishell) { if (s[i] == '$') { - env = expander_get_var(s, i + 1, minishell); + env = expander_get_var(s, i + 1, msh); if (env) - ft_lstadd_back(&var_list, ft_lstnew_safe(minishell, env)); + ft_lstadd_back(&var_list, ft_lstnew_safe(msh, env)); else - ft_lstadd_back(&var_list, ft_lstnew_safe(minishell, NULL)); + ft_lstadd_back(&var_list, ft_lstnew_safe(msh, NULL)); } i++; } diff --git a/src/lexer/lexer_new.c b/src/lexer/lexer_new.c index 8bb3a0d..062d8c9 100644 --- a/src/lexer/lexer_new.c +++ b/src/lexer/lexer_new.c @@ -6,20 +6,20 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:03:01 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:23:52 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:13:50 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_lexer *ft_lexer_new(t_minishell *minishell) +t_lexer *ft_lexer_new(t_minishell *msh) { char *input; t_lexer *lexer; - input = minishell->line; - lexer = malloc_safe(minishell, sizeof(t_lexer)); - lexer->input = ft_strdup_safe(minishell, input); + input = msh->line; + lexer = malloc_safe(msh, sizeof(t_lexer)); + lexer->input = ft_strdup_safe(msh, input); lexer->pos = 0; lexer->n_pos = 1; lexer->current_char = '\0'; diff --git a/src/lexer/lexer_parse_input.c b/src/lexer/lexer_parse_input.c index fb4dc94..1fd02a1 100644 --- a/src/lexer/lexer_parse_input.c +++ b/src/lexer/lexer_parse_input.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:09:20 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:24:39 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:13:54 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -24,21 +24,21 @@ * the input to be parsed. * @return A linked list of tokens parsed from the input. */ -t_list *ft_parse_input(t_minishell *minishell) +t_list *ft_parse_input(t_minishell *msh) { t_list *list; t_token *token; t_lexer *lexer; - lexer = minishell->lexer; + lexer = msh->lexer; list = NULL; while (TRUE) { - token = ft_token_next(minishell, lexer); + token = ft_token_next(msh, lexer); if (token->type == T_EOF || token->type == T_ERROR) break ; - ft_lstadd_back(&list, ft_lstnew_safe(minishell, token)); + ft_lstadd_back(&list, ft_lstnew_safe(msh, token)); } - ft_token_free(minishell, token); + ft_token_free(msh, token); return (list); } diff --git a/src/lexer/lexer_read_word.c b/src/lexer/lexer_read_word.c index 4befd32..78c50f4 100644 --- a/src/lexer/lexer_read_word.c +++ b/src/lexer/lexer_read_word.c @@ -6,13 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:03:47 by qmennen #+# #+# */ -/* Updated: 2025/02/25 15:27:01 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:13:59 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -static char *parse_quotes(t_minishell *minishell, t_lexer *lexer) +static char *parse_quotes(t_minishell *msh, t_lexer *lexer) { int start; int len; @@ -26,19 +26,19 @@ static char *parse_quotes(t_minishell *minishell, t_lexer *lexer) while (lexer->current_char != '\0' && lexer->current_char != qc) lexer_readchar(lexer); len = lexer->pos - start; - word = malloc_safe(minishell, sizeof(char) * len + 1); + word = malloc_safe(msh, sizeof(char) * len + 1); ft_strlcpy(word, lexer->input + start, len + 1); if (lexer->current_char == qc) lexer_readchar(lexer); else { - free_safe(minishell, (void **)&word); + free_safe(msh, (void **)&word); return (NULL); } return (word); } -char *lexer_readword(t_minishell *minishell, t_lexer *lexer) +char *lexer_readword(t_minishell *msh, t_lexer *lexer) { int start; int len; @@ -47,7 +47,7 @@ char *lexer_readword(t_minishell *minishell, t_lexer *lexer) start = lexer->pos; if (lexer->current_char == '"' || lexer->current_char == '\'') { - return (parse_quotes(minishell, lexer)); + return (parse_quotes(msh, lexer)); } while (ft_isprint(lexer->current_char) && lexer->current_char != '<' && lexer->current_char != '>' && lexer->current_char != '|' @@ -57,7 +57,7 @@ char *lexer_readword(t_minishell *minishell, t_lexer *lexer) lexer_readchar(lexer); } len = lexer->pos - start; - word = malloc_safe(minishell, sizeof(char) * len + 1); + word = malloc_safe(msh, sizeof(char) * len + 1); ft_strlcpy(word, lexer->input + start, len + 1); return (word); } diff --git a/src/lexer/lexer_token_next.c b/src/lexer/lexer_token_next.c index 04b728a..d3c1181 100644 --- a/src/lexer/lexer_token_next.c +++ b/src/lexer/lexer_token_next.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/04 16:07:58 by qmennen #+# #+# */ -/* Updated: 2025/02/25 15:27:11 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:14:10 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -42,7 +42,7 @@ static t_token_type get_word_type(char c) * - If it is a printable character, reads the word and creates a word token. * - Otherwise, creates an error token. */ -t_token *ft_token_next(t_minishell *minishell, t_lexer *lexer) +t_token *ft_token_next(t_minishell *msh, t_lexer *lexer) { t_token *token; t_token_type word_type; @@ -54,22 +54,22 @@ t_token *ft_token_next(t_minishell *minishell, t_lexer *lexer) lexer_readchar(lexer); current_pos = lexer->pos; if (lexer->current_char == '\0') - token = token_new(minishell, T_EOF, NULL, current_pos); + token = token_new(msh, T_EOF, NULL, current_pos); else if (lexer->current_char == '<' || lexer->current_char == '>' || lexer->current_char == '|') - token = token_parse(minishell, lexer); + token = token_parse(msh, lexer); else if (ft_isprint(lexer->current_char)) { word_type = get_word_type(lexer->current_char); - word = lexer_readword(minishell, lexer); + word = lexer_readword(msh, lexer); if (!word) - return (token_new(minishell, T_ERROR, &lexer->current_char, current_pos)); - token = token_new(minishell, word_type, word, current_pos); - free_safe(minishell, (void **)&word); + return (token_new(msh, T_ERROR, &lexer->current_char, current_pos)); + token = token_new(msh, word_type, word, current_pos); + free_safe(msh, (void **)&word); } else { - token = token_new(minishell, T_ERROR, NULL, current_pos); + token = token_new(msh, T_ERROR, NULL, current_pos); printf("token->type: %d\n", token->type); } return (token); diff --git a/src/main.c b/src/main.c index 238519d..515c243 100644 --- a/src/main.c +++ b/src/main.c @@ -16,29 +16,29 @@ int main(int argc, char **argv, char **envp) { - t_minishell *minishell; + t_minishell *msh; (void)argc; (void)argv; print_banner(); history_load(); - minishell = init_minishell(); + msh = init_minishell(); signal_init_minishell(); - environment_parse(minishell, envp); + environment_parse(msh, envp); while (TRUE) { - minishell->line = ft_prompt(minishell); - if (minishell->line == NULL) + msh->line = ft_prompt(msh); + if (msh->line == NULL) break ; - minishell->lexer = ft_lexer_new(minishell); - minishell->tokens = ft_parse_input(minishell); - ft_lstiter(minishell->tokens, token_print); - minishell->commands = parser_get_commands(minishell); - simple_builtins(minishell); - free_minishell_line(minishell); + msh->lexer = ft_lexer_new(msh); + msh->tokens = ft_parse_input(msh); + ft_lstiter(msh->tokens, token_print); + msh->commands = parser_get_commands(msh); + simple_builtins(msh); + free_minishell_line(msh); } - ft_lstclear_safe(minishell, &minishell->commands, free_command_list); - free_minishell(&minishell); + ft_lstclear_safe(msh, &msh->commands, free_command_list); + free_minishell(&msh); rl_clear_history(); return (EXIT_SUCCESS); } diff --git a/src/parser/parser_get_arguments.c b/src/parser/parser_get_arguments.c index 1881561..25b298f 100644 --- a/src/parser/parser_get_arguments.c +++ b/src/parser/parser_get_arguments.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/11 16:20:09 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:26:32 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:14:14 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -44,7 +44,7 @@ static int parser_should_expand(t_list *value) && token->value[1])); } -char **parser_get_arguments(t_list *list, t_minishell *minishell) +char **parser_get_arguments(t_list *list, t_minishell *msh) { t_list *current; char **args; @@ -52,17 +52,17 @@ char **parser_get_arguments(t_list *list, t_minishell *minishell) int i; cmds = count_cmds(list); - args = malloc_safe(minishell, (cmds + 1) * sizeof(char *)); + args = malloc_safe(msh, (cmds + 1) * sizeof(char *)); current = list; i = -1; while ((++i) < cmds && current) { if (parser_should_expand(current)) args[i] = expander_parse_string( - ((t_token *)current->content)->value, minishell); + ((t_token *)current->content)->value, msh); else if (((t_token *)current->content)->type == T_WORD || ((t_token *)current->content)->type == T_SQWORD) - args[i] = ft_strdup_safe(minishell, + args[i] = ft_strdup_safe(msh, ((t_token *)current->content)->value); current = current->next; } diff --git a/src/parser/parser_get_commands.c b/src/parser/parser_get_commands.c index 7d67d06..c8bb8d9 100644 --- a/src/parser/parser_get_commands.c +++ b/src/parser/parser_get_commands.c @@ -17,7 +17,7 @@ static int is_command_token(t_token *token) return (token->type < 3 || redirect_token_type(token)); } -t_list *parser_get_commands(t_minishell *minishell) +t_list *parser_get_commands(t_minishell *msh) { t_list *command_list; t_list *current; @@ -25,18 +25,18 @@ t_list *parser_get_commands(t_minishell *minishell) t_token *token; command_list = NULL; - if (!minishell->tokens) + if (!msh->tokens) return (NULL); - current = minishell->tokens; + current = msh->tokens; while (current) { token = (t_token *) current->content; - command = parser_command_new(minishell, - ft_strdup_safe(minishell, token->value)); - command->args = parser_get_arguments(current, minishell); - command->redirect_in = redirect_get_inputs(minishell, current); - command->redirect_out = redirect_get_outputs(minishell, current); - ft_lstadd_back(&command_list, ft_lstnew_safe(minishell, command)); + command = parser_command_new(msh, + ft_strdup_safe(msh, token->value)); + command->args = parser_get_arguments(current, msh); + command->redirect_in = redirect_get_inputs(msh, current); + command->redirect_out = redirect_get_outputs(msh, current); + ft_lstadd_back(&command_list, ft_lstnew_safe(msh, command)); while (current && is_command_token((t_token *)current->content)) current = current->next; if (current && ((t_token *)current->content)->type >= 3) diff --git a/src/parser/parser_new_command.c b/src/parser/parser_new_command.c index f162d67..3599cba 100644 --- a/src/parser/parser_new_command.c +++ b/src/parser/parser_new_command.c @@ -6,17 +6,17 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/11 16:18:21 by qmennen #+# #+# */ -/* Updated: 2025/02/26 15:32:45 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:14:31 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_command *parser_command_new(t_minishell *minishell, char *cmd) +t_command *parser_command_new(t_minishell *msh, char *cmd) { t_command *command; - command = malloc_safe(minishell, sizeof(t_command)); + command = malloc_safe(msh, sizeof(t_command)); command->args = NULL; command->fd_in = 0; command->fd_out = 1; diff --git a/src/prompt/prompt.c b/src/prompt/prompt.c index e0f9195..45a5e2e 100644 --- a/src/prompt/prompt.c +++ b/src/prompt/prompt.c @@ -6,13 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */ -/* Updated: 2025/02/26 15:33:15 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:04 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -char *get_user(t_minishell *minishell) +char *get_user(t_minishell *msh) { const char guest[] = "guest"; int len; @@ -20,32 +20,32 @@ char *get_user(t_minishell *minishell) char *username; char *result; - user = environment_get(minishell, "USER"); + user = environment_get(msh, "USER"); if (user == NULL) username = (char *)guest; else username = user->value; len = ft_strlen(username) + ft_strlen(PROMPT GREEN) + 1; - result = (char *)malloc_safe(minishell, len); + result = (char *)malloc_safe(msh, len); ft_strlcpy(result, GREEN, ft_strlen(GREEN) + 1); ft_strlcat(result, username, ft_strlen(GREEN) + ft_strlen(username) + 1); ft_strlcat(result, PROMPT, len); return (result); } -int get_home_len(t_minishell *minishell, char *cwd) +int get_home_len(t_minishell *msh, char *cwd) { t_environment *home; int home_len; - home = environment_get(minishell, "HOME"); + home = environment_get(msh, "HOME"); home_len = 0; if (home && !ft_strncmp(cwd, home->value, ft_strlen(home->value))) home_len = ft_strlen(home->value) - 1; return (home_len); } -char *get_path_with_home(t_minishell *minishell) +char *get_path_with_home(t_minishell *msh) { char *result; char *cwd; @@ -55,9 +55,9 @@ char *get_path_with_home(t_minishell *minishell) cwd = getcwd(NULL, 0); if (cwd == NULL) return (perror("getcwd"), NULL); - home_len = get_home_len(minishell, cwd); + home_len = get_home_len(msh, cwd); len = ft_strlen(cwd) - home_len + 1; - result = malloc_safe(minishell, len); + result = malloc_safe(msh, len); if (home_len) { ft_strlcpy(result, "~", 2); @@ -69,43 +69,43 @@ char *get_path_with_home(t_minishell *minishell) return (result); } -char *get_path(t_minishell *minishell) +char *get_path(t_minishell *msh) { char *result; char *cwd; int len; - cwd = get_path_with_home(minishell); + cwd = get_path_with_home(msh); if (cwd == NULL) return (NULL); len = ft_strlen(cwd) + ft_strlen(BLUE RESET "> ") + 1; - result = malloc_safe(minishell, len); + result = malloc_safe(msh, len); ft_strlcpy(result, BLUE, len); ft_strlcat(result, cwd, len); ft_strlcat(result, RESET "> ", len); - free_safe(minishell, (void **) &cwd); + free_safe(msh, (void **) &cwd); return (result); } -char *ft_prompt(t_minishell *minishell) +char *ft_prompt(t_minishell *msh) { char *line; char *cwd; char *prompt; char *user; - cwd = get_path(minishell); + cwd = get_path(msh); if (cwd == NULL) return (NULL); - user = get_user(minishell); + user = get_user(msh); if (user == NULL) return (free(cwd), NULL); - prompt = ft_strjoin_safe(minishell, user, cwd); - free_safe(minishell, (void **)&user); - free_safe(minishell, (void **)&cwd); + prompt = ft_strjoin_safe(msh, user, cwd); + free_safe(msh, (void **)&user); + free_safe(msh, (void **)&cwd); rl_on_new_line(); line = readline(prompt); - free_safe(minishell, (void **)&prompt); + free_safe(msh, (void **)&prompt); if (line == NULL) return (NULL); history_write(line); diff --git a/src/redirect/redirect_get_inputs.c b/src/redirect/redirect_get_inputs.c index 6e298fb..8ea31b3 100644 --- a/src/redirect/redirect_get_inputs.c +++ b/src/redirect/redirect_get_inputs.c @@ -35,7 +35,7 @@ static void process_heredoc(t_minishell *msh, t_token *heredoc, t_token *delim) delim->value = ft_strdup_safe(msh, ".ms_heredoc"); } -t_list *redirect_get_inputs(t_minishell *minishell, t_list *list) +t_list *redirect_get_inputs(t_minishell *msh, t_list *list) { t_list *current; t_list *redirects; @@ -54,19 +54,19 @@ t_list *redirect_get_inputs(t_minishell *minishell, t_list *list) continue ; } if (token->type == T_HEREDOC && redirect_is_valid(current, token)) - process_heredoc(minishell, token, current->next->content); + process_heredoc(msh, token, current->next->content); if (redirect_is_valid(current, token)) { - ft_lstadd_back(&redirects, ft_lstnew_safe(minishell, - redirect_new(minishell, token->type, - ft_strdup_safe(minishell, + ft_lstadd_back(&redirects, ft_lstnew_safe(msh, + redirect_new(msh, token->type, + ft_strdup_safe(msh, ((t_token *)current->next->content)->value)))); current = current->next; continue ; } else { - ft_lstadd_front(&redirects, ft_lstnew_safe(minishell, redirect_new(minishell, T_ERROR, NULL))); + ft_lstadd_front(&redirects, ft_lstnew_safe(msh, redirect_new(msh, T_ERROR, NULL))); break ; } current = current->next; diff --git a/src/token/token_new.c b/src/token/token_new.c index 778191f..24a7a4c 100644 --- a/src/token/token_new.c +++ b/src/token/token_new.c @@ -6,21 +6,21 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:10:49 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:42:52 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:17 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_token *token_new(t_minishell *minishell, t_token_type type, char *c, int pos) +t_token *token_new(t_minishell *msh, t_token_type type, char *c, int pos) { t_token *token; - token = malloc_safe(minishell, sizeof(t_token)); + token = malloc_safe(msh, sizeof(t_token)); token->type = type; token->position = pos; if (c) - token->value = ft_strdup_safe(minishell, c); + token->value = ft_strdup_safe(msh, c); else token->value = NULL; return (token); diff --git a/src/token/token_parse.c b/src/token/token_parse.c index 2031eda..f18eb52 100644 --- a/src/token/token_parse.c +++ b/src/token/token_parse.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:10:17 by qmennen #+# #+# */ -/* Updated: 2025/02/25 14:45:08 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:19 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -56,7 +56,7 @@ static char *char_from_type(t_token_type type) return (NULL); } -t_token *token_parse(t_minishell *minishell, t_lexer *lexer) +t_token *token_parse(t_minishell *msh, t_lexer *lexer) { int is_double; char c; @@ -66,7 +66,7 @@ t_token *token_parse(t_minishell *minishell, t_lexer *lexer) c = lexer->current_char; is_double = lexer->input[lexer->pos + 1] == c; type = token_from_char(c, is_double); - token = token_new(minishell, type, char_from_type(type), lexer->pos); + token = token_new(msh, type, char_from_type(type), lexer->pos); if (is_double) lexer_readchar(lexer); lexer_readchar(lexer); diff --git a/src/utils/check_malloc.c b/src/utils/check_malloc.c index 72cff69..eaa1504 100644 --- a/src/utils/check_malloc.c +++ b/src/utils/check_malloc.c @@ -12,14 +12,14 @@ #include "minishell.h" -void check_malloc(t_minishell *minishell, void *ptr) +void check_malloc(t_minishell *msh, void *ptr) { t_list *new; if (ptr == NULL) { error_msg("malloc", "can't allocate memory"); - ft_lstclear(&(minishell->freelist), free); + ft_lstclear(&(msh->freelist), free); exit(1); } else @@ -28,10 +28,10 @@ void check_malloc(t_minishell *minishell, void *ptr) if (new == NULL) { error_msg("malloc", "can't allocate memory"); - ft_lstclear(&(minishell->freelist), free); + ft_lstclear(&(msh->freelist), free); exit(1); } else - ft_lstadd_front(&(minishell->freelist), new); + ft_lstadd_front(&(msh->freelist), new); } } diff --git a/src/utils/error_msg.c b/src/utils/error_msg.c index 2ce1ed1..e781c10 100644 --- a/src/utils/error_msg.c +++ b/src/utils/error_msg.c @@ -15,10 +15,10 @@ void error_msg(char *func, char *msg) { if (errno) - perror(RED BOLD "minishell" RESET); + perror(RED BOLD "msh" RESET); else { - ft_putstr_fd(RED BOLD "minishell" RESET ": ", 2); + ft_putstr_fd(RED BOLD "msh" RESET ": ", 2); if (func != NULL) { ft_putstr_fd(func, 2); diff --git a/src/utils/free_command_list.c b/src/utils/free_command_list.c index 6d2b06c..2ca7ce8 100644 --- a/src/utils/free_command_list.c +++ b/src/utils/free_command_list.c @@ -12,20 +12,20 @@ #include "minishell.h" -static void free_args(t_minishell *minishell, char **args) +static void free_args(t_minishell *msh, char **args) { int i; i = 0; while (args[i]) { - free_safe(minishell, (void **)&args[i]); + free_safe(msh, (void **)&args[i]); i++; } - free_safe(minishell, (void **)&args); + free_safe(msh, (void **)&args); } -static void free_redirects(t_minishell *minishell, t_list *lst) +static void free_redirects(t_minishell *msh, t_list *lst) { t_redirect *redir; t_list *current; @@ -37,26 +37,26 @@ static void free_redirects(t_minishell *minishell, t_list *lst) last = current; redir = (t_redirect *)current->content; if (redir && redir->value) - free_safe(minishell, (void **)&redir->value); + free_safe(msh, (void **)&redir->value); if (redir) - free_safe(minishell, (void **)&redir); + free_safe(msh, (void **)&redir); current = current->next; - free_safe(minishell, (void **)&last); + free_safe(msh, (void **)&last); } } -void free_command_list(t_minishell *minishell, void *content) +void free_command_list(t_minishell *msh, void *content) { t_command *command; command = (t_command *)content; if (command->command) - free_safe(minishell, (void **)&(command->command)); + free_safe(msh, (void **)&(command->command)); if (command->args) - free_args(minishell, command->args); + free_args(msh, command->args); if (command->redirect_in) - free_redirects(minishell, command->redirect_in); + free_redirects(msh, command->redirect_in); if (command->redirect_out) - free_redirects(minishell, command->redirect_out); - free_safe(minishell, (void **)&command); + free_redirects(msh, command->redirect_out); + free_safe(msh, (void **)&command); } diff --git a/src/utils/free_freelist.c b/src/utils/free_freelist.c index b974dd7..34f5048 100644 --- a/src/utils/free_freelist.c +++ b/src/utils/free_freelist.c @@ -6,18 +6,18 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 13:23:30 by whaffman #+# #+# */ -/* Updated: 2025/02/25 15:56:40 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:29 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void free_freelist(t_minishell *minishell) +void free_freelist(t_minishell *msh) { t_list *freelist; t_list *next; - freelist = minishell->freelist; + freelist = msh->freelist; while (freelist) { next = freelist->next; @@ -25,5 +25,5 @@ void free_freelist(t_minishell *minishell) free(freelist); freelist = next; } - minishell->freelist = NULL; + msh->freelist = NULL; } diff --git a/src/utils/free_lexer.c b/src/utils/free_lexer.c index d42e3b4..5c88980 100644 --- a/src/utils/free_lexer.c +++ b/src/utils/free_lexer.c @@ -6,15 +6,15 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:07:01 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:16:01 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:31 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void ft_lexer_free(t_minishell *minishell, t_lexer *lexer) +void ft_lexer_free(t_minishell *msh, t_lexer *lexer) { if (lexer->input) - free_safe(minishell, (void **)&(lexer->input)); - free_safe(minishell, (void **)&lexer); + free_safe(msh, (void **)&(lexer->input)); + free_safe(msh, (void **)&lexer); } diff --git a/src/utils/free_minishell.c b/src/utils/free_minishell.c index fc4db5a..3044ee9 100644 --- a/src/utils/free_minishell.c +++ b/src/utils/free_minishell.c @@ -6,15 +6,15 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:03:57 by whaffman #+# #+# */ -/* Updated: 2025/02/26 15:43:00 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:42 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void free_minishell(t_minishell **minishell) +void free_minishell(t_minishell **msh) { - free_freelist(*minishell); - free(*minishell); - *minishell = NULL; + free_freelist(*msh); + free(*msh); + *msh = NULL; } diff --git a/src/utils/free_minishell_line.c b/src/utils/free_minishell_line.c index 693b953..88e80eb 100644 --- a/src/utils/free_minishell_line.c +++ b/src/utils/free_minishell_line.c @@ -6,20 +6,20 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:01:44 by whaffman #+# #+# */ -/* Updated: 2025/02/25 17:40:32 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:38 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void free_minishell_line(t_minishell *minishell) +void free_minishell_line(t_minishell *msh) { - if (minishell->line) - free(minishell->line); - if (minishell->lexer) - ft_lexer_free(minishell, minishell->lexer); - if (minishell->tokens) - ft_lstclear_safe(minishell, &minishell->tokens, ft_clear_tokenlist); - if (minishell->commands) - ft_lstclear_safe(minishell, &minishell->commands, free_command_list); + if (msh->line) + free(msh->line); + if (msh->lexer) + ft_lexer_free(msh, msh->lexer); + if (msh->tokens) + ft_lstclear_safe(msh, &msh->tokens, ft_clear_tokenlist); + if (msh->commands) + ft_lstclear_safe(msh, &msh->commands, free_command_list); } diff --git a/src/utils/free_safe.c b/src/utils/free_safe.c index 53faa28..7cbe602 100644 --- a/src/utils/free_safe.c +++ b/src/utils/free_safe.c @@ -6,20 +6,20 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 15:09:34 by whaffman #+# #+# */ -/* Updated: 2025/02/26 15:43:08 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:46 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void free_safe(t_minishell *minishell, void **ptr) +void free_safe(t_minishell *msh, void **ptr) { t_list *prev; t_list *current; prev = NULL; - current = minishell->freelist; + current = msh->freelist; if (*ptr) { while (current) @@ -29,7 +29,7 @@ void free_safe(t_minishell *minishell, void **ptr) if (prev) prev->next = current->next; else - minishell->freelist = current->next; + msh->freelist = current->next; free(*ptr); free(current); return ; diff --git a/src/utils/free_token.c b/src/utils/free_token.c index 46b8e72..7c295f6 100644 --- a/src/utils/free_token.c +++ b/src/utils/free_token.c @@ -6,15 +6,15 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:07:45 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:17:52 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:16:01 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void ft_token_free(t_minishell *minishell, t_token *token) +void ft_token_free(t_minishell *msh, t_token *token) { if (token->value) - free_safe(minishell, (void **)&token->value); - free_safe(minishell, (void **)&token); + free_safe(msh, (void **)&token->value); + free_safe(msh, (void **)&token); } diff --git a/src/utils/free_token_list.c b/src/utils/free_token_list.c index e179f55..0e7b501 100644 --- a/src/utils/free_token_list.c +++ b/src/utils/free_token_list.c @@ -6,16 +6,16 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 19:08:14 by qmennen #+# #+# */ -/* Updated: 2025/02/25 16:18:44 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:15:58 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void ft_clear_tokenlist(t_minishell *minishell, void *content) +void ft_clear_tokenlist(t_minishell *msh, void *content) { t_token *token; token = (t_token *)content; - ft_token_free(minishell, token); + ft_token_free(msh, token); } diff --git a/src/utils/ft_lstclear_safe.c b/src/utils/ft_lstclear_safe.c index dfdca13..5aa5913 100644 --- a/src/utils/ft_lstclear_safe.c +++ b/src/utils/ft_lstclear_safe.c @@ -1,19 +1,19 @@ /* ************************************************************************** */ /* */ /* :::::::: */ -/* minishell_lstclear.c :+: :+: */ +/* ft_lstclear_safe.c :+: :+: */ /* +:+ */ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 16:21:16 by whaffman #+# #+# */ -/* Updated: 2025/02/25 16:48:43 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:16:21 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -void ft_lstclear_safe(t_minishell *minishell, t_list **lst, - void (*del)(t_minishell *minishell, void *)) +void ft_lstclear_safe(t_minishell *msh, t_list **lst, + void (*del)(t_minishell *msh, void *)) { t_list *current; t_list *next; @@ -22,8 +22,8 @@ void ft_lstclear_safe(t_minishell *minishell, t_list **lst, while (current) { next = current->next; - del(minishell, current->content); - free_safe(minishell, (void **)¤t); + del(msh, current->content); + free_safe(msh, (void **)¤t); current = next; } *lst = NULL; diff --git a/src/utils/ft_lstnew_safe.c b/src/utils/ft_lstnew_safe.c index bd0ba5d..f83d6b6 100644 --- a/src/utils/ft_lstnew_safe.c +++ b/src/utils/ft_lstnew_safe.c @@ -1,22 +1,22 @@ /* ************************************************************************** */ /* */ /* :::::::: */ -/* minishell_lstnew.c :+: :+: */ +/* ft_lstnew_safe.c :+: :+: */ /* +:+ */ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 16:47:09 by whaffman #+# #+# */ -/* Updated: 2025/02/25 16:49:11 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:16:29 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" -t_list *ft_lstnew_safe(t_minishell *minishell, void *content) +t_list *ft_lstnew_safe(t_minishell *msh, void *content) { t_list *new; - new = malloc_safe(minishell, sizeof(t_list)); + new = malloc_safe(msh, sizeof(t_list)); new->content = content; new->next = NULL; return (new); diff --git a/src/utils/ft_strdup_safe.c b/src/utils/ft_strdup_safe.c index 581d3ce..99bbf95 100644 --- a/src/utils/ft_strdup_safe.c +++ b/src/utils/ft_strdup_safe.c @@ -12,11 +12,11 @@ #include "minishell.h" -char *ft_strdup_safe(t_minishell *minishell, const char *str) +char *ft_strdup_safe(t_minishell *msh, const char *str) { char *new_str; new_str = ft_strdup(str); - check_malloc(minishell, new_str); + check_malloc(msh, new_str); return (new_str); } diff --git a/src/utils/ft_strjoin_safe.c b/src/utils/ft_strjoin_safe.c index cf596c8..cae7585 100644 --- a/src/utils/ft_strjoin_safe.c +++ b/src/utils/ft_strjoin_safe.c @@ -12,11 +12,11 @@ #include "minishell.h" -char *ft_strjoin_safe(t_minishell *minishell, const char *s1, const char *s2) +char *ft_strjoin_safe(t_minishell *msh, const char *s1, const char *s2) { char *new_str; new_str = ft_strjoin(s1, s2); - check_malloc(minishell, new_str); + check_malloc(msh, new_str); return (new_str); } diff --git a/src/utils/init_minishell.c b/src/utils/init_minishell.c index bc2cb13..d248dc8 100644 --- a/src/utils/init_minishell.c +++ b/src/utils/init_minishell.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:03:03 by whaffman #+# #+# */ -/* Updated: 2025/02/25 14:50:19 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:16:37 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -14,19 +14,19 @@ t_minishell *init_minishell(void) { - t_minishell *minishell; + t_minishell *msh; - minishell = malloc(sizeof(t_minishell)); - if (!minishell) + msh = malloc(sizeof(t_minishell)); + if (!msh) { - perror("failed assigning minishell memory"); + perror("failed assigning msh memory"); exit(EXIT_FAILURE); } - minishell->environment = NULL; - minishell->line = NULL; - minishell->lexer = NULL; - minishell->tokens = NULL; - minishell->commands = NULL; - minishell->freelist = NULL; - return (minishell); + msh->environment = NULL; + msh->line = NULL; + msh->lexer = NULL; + msh->tokens = NULL; + msh->commands = NULL; + msh->freelist = NULL; + return (msh); } diff --git a/src/utils/malloc_safe.c b/src/utils/malloc_safe.c index af46370..5485afd 100644 --- a/src/utils/malloc_safe.c +++ b/src/utils/malloc_safe.c @@ -12,11 +12,11 @@ #include "minishell.h" -void *malloc_safe(t_minishell *minishell, size_t size) +void *malloc_safe(t_minishell *msh, size_t size) { void *ptr; ptr = malloc(size); - check_malloc(minishell, ptr); + check_malloc(msh, ptr); return (ptr); } From 3292030e6e4190eb812a6c9314d3c644b240ca31 Mon Sep 17 00:00:00 2001 From: whaffman Date: Wed, 26 Feb 2025 16:20:55 +0100 Subject: [PATCH 4/5] norm 3 --- pipetester.c | 99 ---------------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 pipetester.c diff --git a/pipetester.c b/pipetester.c deleted file mode 100644 index 35409af..0000000 --- a/pipetester.c +++ /dev/null @@ -1,99 +0,0 @@ - -#include -#include -#include -#include - -void error(char *msg) -{ - write(2, msg, strlen(msg)); -} - -int main(void) -{ - int fd_in = STDIN_FILENO; - int fd_out = STDOUT_FILENO; - struct stat statbuf_in; - struct stat statbuf_out; - - char c; - - if (fstat(fd_in, &statbuf_in) == -1) - { - perror("fstat"); - return (1); - } - error("STDIN File type: "); - - switch (statbuf_in.st_mode & S_IFMT) - { - case S_IFBLK: - error("block device\n"); - break; - case S_IFCHR: - error("character device\n"); - break; - case S_IFDIR: - error("directory\n"); - break; - case S_IFIFO: - error("FIFO/pipe\n"); - break; - case S_IFLNK: - error("symlink\n"); - break; - case S_IFREG: - error("regular file\n"); - break; - case S_IFSOCK: - error("socket\n"); - break; - default: - error("unknown?\n"); - break; - } - - error("\n"); - - if (fstat(fd_out, &statbuf_out) == -1) - { - perror("fstat"); - return (1); - } - - error("STDOUT File type: "); - - switch (statbuf_out.st_mode & S_IFMT) - { - case S_IFBLK: - error("block device\n"); - break; - case S_IFCHR: - error("character device\n"); - break; - case S_IFDIR: - error("directory\n"); - break; - case S_IFIFO: - error("FIFO/pipe\n"); - break; - case S_IFLNK: - error("symlink\n"); - break; - case S_IFREG: - error("regular file\n"); - break; - case S_IFSOCK: - error("socket\n"); - break; - default: - error("unknown?\n"); - break; - } - - while (read(fd_in, &c, 1) > 0) - { - write(fd_out, &c, 1); - } - return (0); -} From c366ddd6d63b628442b0cc05e048f77159b6dbd3 Mon Sep 17 00:00:00 2001 From: whaffman Date: Wed, 26 Feb 2025 16:21:17 +0100 Subject: [PATCH 5/5] norm 4 --- inc/parser.h | 2 +- inc/redirect.h | 12 ++++++------ inc/typedef.h | 4 +--- lib/libft | 2 +- src/redirect/redirect_valid_type.c | 2 +- src/utils/free_safe.c | 3 +-- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/inc/parser.h b/inc/parser.h index c2aff32..c07368f 100644 --- a/inc/parser.h +++ b/inc/parser.h @@ -18,6 +18,6 @@ t_command *parser_command_new(t_minishell *msh, char *cmd); char **parser_get_arguments(t_list *list, t_minishell *msh); t_list *parser_get_commands(t_minishell *msh); -t_list *parser_get_input_redirects(t_list *list); +t_list *parser_get_input_redirects(t_list *list); #endif diff --git a/inc/redirect.h b/inc/redirect.h index 2068b97..25c15fe 100644 --- a/inc/redirect.h +++ b/inc/redirect.h @@ -14,11 +14,11 @@ # define REDIRECT_H # include "minishell.h" -t_redirect *redirect_new(t_minishell *msh, t_token_type type, char *value); -t_list *redirect_get_inputs(t_minishell *msh, t_list *list); -t_list *redirect_get_outputs(t_minishell *msh, t_list *list); -int redirect_is_valid(t_list *lst, t_token *token); -int redirect_token_type(t_token *token); -int redirect_is_delimiter(t_token *token); +t_redirect *redirect_new(t_minishell *msh, t_token_type type, char *value); +t_list *redirect_get_inputs(t_minishell *msh, t_list *list); +t_list *redirect_get_outputs(t_minishell *msh, t_list *list); +int redirect_is_valid(t_list *lst, t_token *token); +int redirect_token_type(t_token *token); +int redirect_is_delimiter(t_token *token); #endif diff --git a/inc/typedef.h b/inc/typedef.h index 53d848c..7fb44a4 100644 --- a/inc/typedef.h +++ b/inc/typedef.h @@ -6,15 +6,13 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/05 12:36:08 by whaffman #+# #+# */ -/* Updated: 2025/02/25 13:23:12 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:19:13 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #ifndef TYPEDEF_H # define TYPEDEF_H - - typedef enum e_token_type { T_WORD, diff --git a/lib/libft b/lib/libft index de8a369..0ebb29a 160000 --- a/lib/libft +++ b/lib/libft @@ -1 +1 @@ -Subproject commit de8a369a6264465d4cb2979ff6d6938048a2857d +Subproject commit 0ebb29a9187cd7b77ac2372cdd1dee21d1e7873e diff --git a/src/redirect/redirect_valid_type.c b/src/redirect/redirect_valid_type.c index 5f5f9de..28e2185 100644 --- a/src/redirect/redirect_valid_type.c +++ b/src/redirect/redirect_valid_type.c @@ -39,4 +39,4 @@ int redirect_is_delimiter(t_token *token) || token->type == T_OR || token->type == T_EOF || token->type == T_ERROR); -} \ No newline at end of file +} diff --git a/src/utils/free_safe.c b/src/utils/free_safe.c index 7cbe602..58f5a48 100644 --- a/src/utils/free_safe.c +++ b/src/utils/free_safe.c @@ -6,13 +6,12 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/25 15:09:34 by whaffman #+# #+# */ -/* Updated: 2025/02/26 16:15:46 by whaffman ######## odam.nl */ +/* Updated: 2025/02/26 16:20:46 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" - void free_safe(t_minishell *msh, void **ptr) { t_list *prev;