diff --git a/include/minishell.h b/include/minishell.h index b61037b..4221401 100644 --- a/include/minishell.h +++ b/include/minishell.h @@ -45,5 +45,7 @@ t_list **get_list2(t_list **list); int get_exit_code(int in); size_t ft_arrlen(char **a); char **get_rl(char **rl); +void sig_c(int code); +bool run_checks(char *rl); #endif diff --git a/src/main.c b/src/main.c index bc6e480..1251a54 100644 --- a/src/main.c +++ b/src/main.c @@ -6,114 +6,99 @@ /* By: mmoussou +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/21 11:59:34 by adjoly #+# #+# */ -/* Updated: 2024/07/17 17:14:35 by adjoly ### ########.fr */ +/* Updated: 2024/07/18 13:01:49 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,7 +17,7 @@ char *go_to_nxt_quote(char *rl, t_quote quote_type) { - while (*rl && __is_quote(*rl) != quote_type) + while (*rl && __is_quote(*rl) != quote_type) rl++; return (rl); } diff --git a/src/parsing/check_error/run_checks.c b/src/parsing/check_error/run_checks.c new file mode 100644 index 0000000..7a1be7c --- /dev/null +++ b/src/parsing/check_error/run_checks.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* run_checks.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/07/18 13:30:27 by adjoly #+# #+# */ +/* Updated: 2024/07/18 13:31:33 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "parsing.h" +#include "error_msg.h" +#include + +bool run_checks(char *rl) +{ + if (!*rl) + return (true); + if (check_space(rl)) + return (true); + add_history(rl); + if (check_syntax(rl)) + return (true); + if (check_quote(rl)) + return (true); + if (check_pipe(rl)) + return (true); + return (false); +} diff --git a/src/parsing/split_cmd.c b/src/parsing/split_cmd.c index d99d87e..8f4e464 100644 --- a/src/parsing/split_cmd.c +++ b/src/parsing/split_cmd.c @@ -6,16 +6,13 @@ /* By: mmoussou - t_cmd *split_cmd(char *cmd_av, t_cmd *cmd) { char **split; @@ -27,6 +24,5 @@ t_cmd *split_cmd(char *cmd_av, t_cmd *cmd) if (!cmd->cmd) return (NULL); cmd->argv = split; - printf("%s\n", cmd->cmd); return (cmd); } diff --git a/src/utils/get.c b/src/utils/get.c new file mode 100644 index 0000000..264c1fa --- /dev/null +++ b/src/utils/get.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/07/18 13:08:56 by adjoly #+# #+# */ +/* Updated: 2024/07/18 13:09:15 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minishell.h" + +char **get_rl(char **rl) +{ + static char **ret; + + if (rl) + ret = rl; + return (ret); +} diff --git a/src/utils/sig.c b/src/utils/sig.c new file mode 100644 index 0000000..551ae1e --- /dev/null +++ b/src/utils/sig.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* sig.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/07/18 13:09:56 by adjoly #+# #+# */ +/* Updated: 2024/07/18 13:10:08 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minishell.h" + +void sig_c(int code) +{ + (void)code; + ft_putchar_fd('\n', STDOUT_FILENO); + rl_on_new_line(); + rl_replace_line("", 0); + rl_redisplay(); + get_exit_code(130); +}