diff --git a/Makefile b/Makefile index 3e4bdf2..e9198aa 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: apommier +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2022/03/06 12:50:24 by apommier #+# #+# # -# Updated: 2022/04/12 23:31:57 by apommier ### ########.fr # +# Updated: 2022/04/15 05:49:45 by apommier ### ########.fr # # # # **************************************************************************** # @@ -36,7 +36,6 @@ OBJS = ${SRCS:.c=.o} CC = clang CFLAGS = -Wall -Wextra -g LIB = -lreadline -#CFLAGS = -Wall -Wextra -Werror RM = rm -rf LIBFT = ./libft diff --git a/srcs/main.c b/srcs/main.c index d49641c..ccef73f 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 00:13:24 by apommier ### ########.fr */ +/* Updated: 2022/04/15 06:01:07 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -81,6 +81,8 @@ void print_prompt(char **path) free_cmd(cmd); cmd = 0; } + else + ft_putstr_fd("Minishell: error while parsing command\n", 2); } free(input); } diff --git a/srcs/pipe/pipe.c b/srcs/pipe/pipe.c index 1556a6e..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 02:37:34 by apommier ### ########.fr */ +/* Updated: 2022/04/15 06:29:09 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -99,6 +99,8 @@ void exec_cmd(t_cmd *cmd, char **env, int *fdpipe) } else if (!cmd->current_s_cmd->cmd || access(cmd->current_s_cmd->cmd, F_OK)) cmd->err_var = 127; + else + cmd->err_var = 126; } void execute(t_cmd *cmd, char **env) diff --git a/srcs/set_cmd/set_cmd.c b/srcs/set_cmd/set_cmd.c index b785e8e..feeee81 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/14 12:32:26 by apommier ### ########.fr */ +/* Updated: 2022/04/15 06:00:35 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -80,6 +80,25 @@ t_cmd *split_cmd(t_cmd *cmd, char **cmds) return (cmd); } +int is_pipe_good(char *str) +{ + int i; + char next; + + i = 0; + while (str[i]) + { + if (str[i] == '|') + { + next = next_space(str, i + 1); + if (!next || next == '|' || next == '<' || next == '>') + return (0); + } + i++; + } + return (1); +} + t_cmd *set_cmd(char *input, char **env) { t_cmd *cmd; @@ -87,6 +106,8 @@ t_cmd *set_cmd(char *input, char **env) if (!is_quote_good(input)) return (0); + if (!is_pipe_good(input)) + return (0); cmds = ft_split_with_quote(input, '|'); //print_double_fd(cmds, 1); if (!cmds)