diff --git a/Makefile b/Makefile index 74496fb..cbeeb07 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: apommier +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2022/03/06 12:50:24 by apommier #+# #+# # -# Updated: 2022/04/15 12:36:24 by apommier ### ########.fr # +# Updated: 2022/04/16 02:25:09 by apommier ### ########.fr # # # # **************************************************************************** # @@ -18,7 +18,6 @@ SRCS = srcs/main.c\ srcs/set_cmd/set_cmd.c\ srcs/set_redirection/redirection.c\ srcs/set_redirection/utils.c\ - srcs/built_in/exit.c\ srcs/built_in/unset.c\ srcs/built_in/cd.c\ srcs/built_in/echo.c\ @@ -27,6 +26,7 @@ SRCS = srcs/main.c\ srcs/built_in/init_builtin.c\ srcs/built_in/export2.c\ srcs/built_in/env.c\ + srcs/built_in/exit.c\ srcs/set_quote/split_with_quote.c\ srcs/set_quote/set_quote.c\ srcs/built_in/choose_builtin.c diff --git a/includes/minishell.h b/includes/minishell.h index 2cc73a0..4f93082 100644 --- a/includes/minishell.h +++ b/includes/minishell.h @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/03/09 22:33:49 by apommier #+# #+# */ -/* Updated: 2022/04/15 12:33:26 by apommier ### ########.fr */ +/* Updated: 2022/04/16 02:39:21 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -68,7 +68,7 @@ char **ft_dup_double(char **env); void execute(t_cmd *cmd, char **env); //set_cmd.c -t_cmd *set_cmd(char *input, char **path); +t_cmd *set_cmd(char *input, char **path, int nb); //pipex_utils.c char **get_path(char **env); @@ -117,7 +117,7 @@ int size_path(char **str); int check_return(t_s_cmd *cmd, int var); //real builtin -void ft_exit(t_s_cmd *cmd); +void ft_exit(t_s_cmd *cmd); int print_env(t_cmd *cmd); void ft_env(t_s_cmd *cmd, char **env); void ft_exit(t_s_cmd *cmd); diff --git a/srcs/built_in/choose_builtin.c b/srcs/built_in/choose_builtin.c index 9f39911..db3e974 100644 --- a/srcs/built_in/choose_builtin.c +++ b/srcs/built_in/choose_builtin.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/02/28 17:12:52 by sadjigui #+# #+# */ -/* Updated: 2022/04/15 12:35:45 by apommier ### ########.fr */ +/* Updated: 2022/04/16 02:26:33 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,7 +28,7 @@ int is_builtin(char *cmd) return (1); if (!ft_strcmp(cmd, "pwd")) return (1); - return (0); + return (0); } void call_builtin(t_cmd *cmd) diff --git a/srcs/built_in/exit.c b/srcs/built_in/exit.c index 6756149..c679cde 100644 --- a/srcs/built_in/exit.c +++ b/srcs/built_in/exit.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/04/15 11:23:32 by apommier #+# #+# */ -/* Updated: 2022/04/15 13:02:34 by apommier ### ########.fr */ +/* Updated: 2022/04/16 02:19:58 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/srcs/main.c b/srcs/main.c index 9167e7b..44312cb 100644 --- a/srcs/main.c +++ b/srcs/main.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/03/06 13:27:11 by apommier #+# #+# */ -/* Updated: 2022/04/15 12:34:32 by apommier ### ########.fr */ +/* Updated: 2022/04/16 02:42:24 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -60,10 +60,9 @@ void print_prompt(char **path) cmd = 0; while (1) { - i = 0; input = readline("\033[1;31m~$ \033[0m"); - /*if (!input) - exit_shell(cmd);*/ + if (!input) + exit_shell(cmd, 0); add_history(input); /*if (!ft_strcmp("exit", input) && input) { @@ -72,7 +71,7 @@ void print_prompt(char **path) }*/ if (ft_strlen(input) && next_space(input, 0) && input) { - cmd = set_cmd(input, path); + cmd = set_cmd(input, path, i); if (cmd) { cmd->err_var = 0; @@ -84,6 +83,7 @@ void print_prompt(char **path) else ft_putstr_fd("Minishell: error while parsing command\n", 2); } + i++; free(input); } } diff --git a/srcs/pipe/pipe.c b/srcs/pipe/pipe.c index 65c67d1..cd604ce 100644 --- a/srcs/pipe/pipe.c +++ b/srcs/pipe/pipe.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/04/02 18:51:31 by apommier #+# #+# */ -/* Updated: 2022/04/15 11:22:50 by apommier ### ########.fr */ +/* Updated: 2022/04/15 06:29:09 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -109,7 +109,7 @@ void execute(t_cmd *cmd, char **env) int fdout; int fdin; int tmpin; - int tmpout; + int tmpout; int i; i = 0; diff --git a/srcs/set_cmd/free_cmd.c b/srcs/set_cmd/free_cmd.c index 81e8940..e2e3af7 100644 --- a/srcs/set_cmd/free_cmd.c +++ b/srcs/set_cmd/free_cmd.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/03/09 12:33:30 by apommier #+# #+# */ -/* Updated: 2022/04/15 12:55:45 by apommier ### ########.fr */ +/* Updated: 2022/04/16 02:41:51 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,20 +15,17 @@ void exit_shell(t_cmd *cmd, int ret) { int i; - unsigned char ret_exit; - - ret_exit = (unsigned char)ret; + i = 0; - /*if (cmd) - free_double(cmd->env);*/ - free_cmd(cmd); + if (cmd) + free_double(cmd->env); clear_history(); //print_double_fd(cmd->s_cmds[0]->env, 1); ft_putstr_fd("exit\n", 1); //if (cmd->path) //free_double(cmd->path); cmd = 0; - exit(ret_exit); + exit(ret); } void free_cmd(t_cmd *cmd) diff --git a/srcs/set_cmd/set_cmd.c b/srcs/set_cmd/set_cmd.c index feeee81..558665a 100644 --- a/srcs/set_cmd/set_cmd.c +++ b/srcs/set_cmd/set_cmd.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/03/08 15:19:42 by apommier #+# #+# */ -/* Updated: 2022/04/15 06:00:35 by apommier ### ########.fr */ +/* Updated: 2022/04/16 02:39:13 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -99,7 +99,7 @@ int is_pipe_good(char *str) return (1); } -t_cmd *set_cmd(char *input, char **env) +t_cmd *set_cmd(char *input, char **env, int nb) { t_cmd *cmd; char **cmds; @@ -115,9 +115,12 @@ t_cmd *set_cmd(char *input, char **env) cmd = malloc(sizeof(t_cmd)); if (!cmd) return (0); + //cmd->err_var = 0; cmd->s_cmds = calloc(sizeof(t_s_cmd), double_size(cmds) + 1); if (!cmd->s_cmds) return (0); + if (nb == 0) + cmd->err_var = 0; cmd->path = 0; //cmd->s_cmds[double_size(cmds)] = NULL; cmd->path = get_path(env);