fixed invalids rules in rules_command.c

This commit is contained in:
lperrey
2021-12-22 20:26:51 +01:00
parent 69adb1cf2f
commit fd72d63dd6
2 changed files with 14 additions and 3 deletions

View File

@@ -6,7 +6,7 @@
/* By: lperrey <lperrey@student.42.fr> +#+ +:+ +#+ */ /* By: lperrey <lperrey@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2021/10/24 18:52:05 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 // cmd_prefix cmd_name cmd_suffix
int valid_command_rule1(t_token **token_list) int valid_command_rule1(t_token **token_list)
{ {
if (!valid_io_redirect(token_list))
return (0);
while (valid_io_redirect(token_list)) while (valid_io_redirect(token_list))
continue ; continue ;
if (!valid_token(token_list, T_WORD)) if (!valid_token(token_list, T_WORD))
return (0); 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)) while (valid_token(token_list, T_WORD) || valid_io_redirect(token_list))
continue ; continue ;
if (!valid_command_separator(*token_list)) if (!valid_command_separator(*token_list))
@@ -31,6 +35,8 @@ int valid_command_rule1(t_token **token_list)
// cmd_prefix cmd_name // cmd_prefix cmd_name
int valid_command_rule2(t_token **token_list) int valid_command_rule2(t_token **token_list)
{ {
if (!valid_io_redirect(token_list))
return (0);
while (valid_io_redirect(token_list)) while (valid_io_redirect(token_list))
continue ; continue ;
if (!valid_token(token_list, T_WORD)) 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)) if (!valid_token(token_list, T_WORD))
return (0); 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)) while (valid_token(token_list, T_WORD) || valid_io_redirect(token_list))
continue ; continue ;
if (!valid_command_separator(*token_list)) if (!valid_command_separator(*token_list))
@@ -55,7 +63,7 @@ int valid_command_rule3(t_token **token_list)
// cmd_name // cmd_name
int valid_command_rule4(t_token **token_list) int valid_command_rule4(t_token **token_list)
{ {
if (valid_token(token_list, T_WORD)) if (!valid_token(token_list, T_WORD))
return (0); return (0);
if (!valid_command_separator(*token_list)) if (!valid_command_separator(*token_list))
return (0); return (0);
@@ -65,6 +73,8 @@ int valid_command_rule4(t_token **token_list)
// cmd_prefix // cmd_prefix
int valid_command_rule5(t_token **token_list) int valid_command_rule5(t_token **token_list)
{ {
if (!valid_io_redirect(token_list))
return (0);
while (valid_io_redirect(token_list)) while (valid_io_redirect(token_list))
continue ; continue ;
if (!valid_command_separator(*token_list)) if (!valid_command_separator(*token_list))

View File

@@ -6,7 +6,7 @@
/* By: lperrey <lperrey@student.42.fr> +#+ +:+ +#+ */ /* By: lperrey <lperrey@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2021/10/24 18:52:05 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; *token_list = cmd_start;
if (valid_command_rule5(token_list)) if (valid_command_rule5(token_list))
return (1); return (1);
*token_list = cmd_start;
return (0); return (0);
} }