From fd72d63dd6687417bcb73c0275fe11fc7f02fd12 Mon Sep 17 00:00:00 2001 From: lperrey Date: Wed, 22 Dec 2021 20:26:51 +0100 Subject: [PATCH] fixed invalids rules in rules_command.c --- srcs/parsing/valid_syntax/rules_command.c | 14 ++++++++++++-- srcs/parsing/valid_syntax/valid_command.c | 3 ++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/srcs/parsing/valid_syntax/rules_command.c b/srcs/parsing/valid_syntax/rules_command.c index 7a314c2..08daffd 100644 --- a/srcs/parsing/valid_syntax/rules_command.c +++ b/srcs/parsing/valid_syntax/rules_command.c @@ -6,7 +6,7 @@ /* By: lperrey +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/10/24 18:52:05 by lperrey #+# #+# */ -/* Updated: 2021/12/20 23:56:09 by lperrey ### ########.fr */ +/* Updated: 2021/12/22 20:23:31 by lperrey ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,10 +17,14 @@ int valid_io_redirect(t_token **token_list); // cmd_prefix cmd_name cmd_suffix int valid_command_rule1(t_token **token_list) { + if (!valid_io_redirect(token_list)) + return (0); while (valid_io_redirect(token_list)) continue ; if (!valid_token(token_list, T_WORD)) return (0); + if (!valid_token(token_list, T_WORD) && !valid_io_redirect(token_list)) + return (0); while (valid_token(token_list, T_WORD) || valid_io_redirect(token_list)) continue ; if (!valid_command_separator(*token_list)) @@ -31,6 +35,8 @@ int valid_command_rule1(t_token **token_list) // cmd_prefix cmd_name int valid_command_rule2(t_token **token_list) { + if (!valid_io_redirect(token_list)) + return (0); while (valid_io_redirect(token_list)) continue ; if (!valid_token(token_list, T_WORD)) @@ -45,6 +51,8 @@ int valid_command_rule3(t_token **token_list) { if (!valid_token(token_list, T_WORD)) return (0); + if (!valid_token(token_list, T_WORD) && !valid_io_redirect(token_list)) + return (0); while (valid_token(token_list, T_WORD) || valid_io_redirect(token_list)) continue ; if (!valid_command_separator(*token_list)) @@ -55,7 +63,7 @@ int valid_command_rule3(t_token **token_list) // cmd_name int valid_command_rule4(t_token **token_list) { - if (valid_token(token_list, T_WORD)) + if (!valid_token(token_list, T_WORD)) return (0); if (!valid_command_separator(*token_list)) return (0); @@ -65,6 +73,8 @@ int valid_command_rule4(t_token **token_list) // cmd_prefix int valid_command_rule5(t_token **token_list) { + if (!valid_io_redirect(token_list)) + return (0); while (valid_io_redirect(token_list)) continue ; if (!valid_command_separator(*token_list)) diff --git a/srcs/parsing/valid_syntax/valid_command.c b/srcs/parsing/valid_syntax/valid_command.c index 11e3a90..5473d83 100644 --- a/srcs/parsing/valid_syntax/valid_command.c +++ b/srcs/parsing/valid_syntax/valid_command.c @@ -6,7 +6,7 @@ /* By: lperrey +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/10/24 18:52:05 by lperrey #+# #+# */ -/* Updated: 2021/12/17 03:28:53 by lperrey ### ########.fr */ +/* Updated: 2021/12/22 20:19:08 by lperrey ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,5 +37,6 @@ int valid_command(t_token **token_list) *token_list = cmd_start; if (valid_command_rule5(token_list)) return (1); + *token_list = cmd_start; return (0); }