diff --git a/42sh/libft b/42sh/libft index 9aa3049d..bfc8ca20 160000 --- a/42sh/libft +++ b/42sh/libft @@ -1 +1 @@ -Subproject commit 9aa3049dd23424807316a6f027589a95cdf1fcdd +Subproject commit bfc8ca207ab4d39f0140322c0f1d368137304a3c diff --git a/42sh/src/lexer/lexer_great.c b/42sh/src/lexer/lexer_great.c index 3bac3ca1..c6262dd6 100644 --- a/42sh/src/lexer/lexer_great.c +++ b/42sh/src/lexer/lexer_great.c @@ -17,8 +17,9 @@ int lexer_great(t_list **alst, t_lexer *lexer) t_token *token; token = (*alst)->content; + if (token->type) + return (lexer_lex(&(*alst)->next, lexer)); token_append(token, lexer, 0, 0); - DG("lexer->str=[%s]", lexer->str); lexer->pos++; if (lexer->str[lexer->pos] == '&') { diff --git a/42sh/src/lexer/lexer_greatand.c b/42sh/src/lexer/lexer_greatand.c index 1c44c88e..9d49d4d8 100644 --- a/42sh/src/lexer/lexer_greatand.c +++ b/42sh/src/lexer/lexer_greatand.c @@ -18,6 +18,7 @@ int lexer_greatand(t_list **alst, t_lexer *lexer) token = (*alst)->content; token->type = TK_GREATAND; + DG("lexer->str=[%s]", lexer->str + lexer->pos); if (ft_isdigit(lexer->str[lexer->pos])) { token_append(token, lexer, 0, 0); @@ -32,5 +33,5 @@ int lexer_greatand(t_list **alst, t_lexer *lexer) return (lexer_lex(&(*alst)->next, lexer)); } lexer->state = DEFAULT; - return (lexer_lex(alst, lexer)); + return (lexer_lex(&(*alst)->next, lexer)); } diff --git a/42sh/src/lexer/lexer_less.c b/42sh/src/lexer/lexer_less.c index 1a8105c0..ea3db7c1 100644 --- a/42sh/src/lexer/lexer_less.c +++ b/42sh/src/lexer/lexer_less.c @@ -17,6 +17,8 @@ int lexer_less(t_list **alst, t_lexer *lexer) t_token *token; token = (*alst)->content; + if (token->type) + return (lexer_lex(&(*alst)->next, lexer)); token_append(token, lexer, 0, 0); lexer->pos++; if (lexer->str[lexer->pos] == '&') diff --git a/42sh/src/main/main.c b/42sh/src/main/main.c index 8c9d85f9..d403b408 100644 --- a/42sh/src/main/main.c +++ b/42sh/src/main/main.c @@ -62,7 +62,7 @@ int interactive_shell() ltoken = ft_lstlast(token); if (lexer_lex(token ? <oken : &token, &lexer)) return (1); - //token_print(token); + token_print(token); } while (get_lexer_stack(lexer)); // if (bquotes_expand(&token)) // return (1);