From 9bd9130ca646fdde0c8cad31356d6d5eb7282e78 Mon Sep 17 00:00:00 2001 From: william Date: Sun, 5 Mar 2017 17:18:37 +0100 Subject: [PATCH] rectif lexer number multi token --- 42sh/src/lexer/lexer_number.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/42sh/src/lexer/lexer_number.c b/42sh/src/lexer/lexer_number.c index 0bcd4b66..c5f1ce93 100644 --- a/42sh/src/lexer/lexer_number.c +++ b/42sh/src/lexer/lexer_number.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/03 12:06:45 by jhalford #+# #+# */ -/* Updated: 2017/03/05 16:03:31 by wescande ### ########.fr */ +/* Updated: 2017/03/05 17:15:52 by wescande ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,14 +26,20 @@ int lexer_number(t_list **alst, t_lexer *lexer) return (lexer_lex(alst, lexer)); } else if (ft_isdigit(lexer->str[lexer->pos]) - && (ft_isdigit(lexer->str[lexer->pos + 1]) - || lexer->str[lexer->pos + 1] == '>' - || lexer->str[lexer->pos + 1] == '<')) + && ft_isdigit(lexer->str[lexer->pos + 1])) { token_append(token, lexer, 0, 0); lexer->pos++; return (lexer_number(alst, lexer)); } + else if (ft_isdigit(lexer->str[lexer->pos]) + && (lexer->str[lexer->pos + 1] == '>' + || lexer->str[lexer->pos + 1] == '<')) + { + token_append(token, lexer, 0, 0); + lexer->pos++; + return (lexer_lex(&(*alst)->next, lexer)); + } else { token->type = TK_WORD; @@ -41,8 +47,6 @@ int lexer_number(t_list **alst, t_lexer *lexer) lexer->pos++; return (lexer_lex(alst, lexer)); } - lexer->state = DEFAULT; - return (lexer_lex(alst, lexer)); } /* int lexer_number(t_list **alst, t_lexer *lexer)