diff options
Diffstat (limited to 'src/lexer')
| -rw-r--r-- | src/lexer/lexer.c | 17 | ||||
| -rw-r--r-- | src/lexer/trim.c | 19 |
2 files changed, 15 insertions, 21 deletions
diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index 63e92db..a1d7469 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -6,7 +6,7 @@ /* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:25 by nahaddac #+# #+# */ -/* Updated: 2020/09/14 16:14:51 by nahaddac ### ########.fr */ +/* Updated: 2020/09/14 16:33:58 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -104,17 +104,14 @@ t_tok_lst *create_token_list(char *input, t_tok_lst **lst) int lexer(char *input, t_tok_lst **out) { - t_tok_lst *lst; - int r; + int status; - r = 0; if (!input) - return (1); - lst = NULL; - lst = create_token_list(input, &lst); - r = lexer_trim(lst); - *out = lst; - return r; + return (2); + *out = NULL; + *out = create_token_list(input, out); + status = lexer_trim(*out); + return status; } diff --git a/src/lexer/trim.c b/src/lexer/trim.c index 24eb99f..cffe43a 100644 --- a/src/lexer/trim.c +++ b/src/lexer/trim.c @@ -6,7 +6,7 @@ /* By: nahaddac <nahaddac@student.42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/07/16 08:18:36 by nahaddac #+# #+# */ -/* Updated: 2020/09/14 16:23:35 by nahaddac ### ########.fr */ +/* Updated: 2020/09/14 16:33:13 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -79,19 +79,16 @@ int del_quote(char *str) int lexer_trim(t_tok_lst *tokens) { - int r = 0; + int status; + while (tokens != NULL) { if (tokens->tag & (TAG_STR_DOUBLE | TAG_STR_SINGLE)) { - r = del_quote(tokens->content); - if (r == 0) - { - if (tokens->next == NULL) - tokens->tag &= ~TAG_STICK; - } - else - return r; + if ((status = del_quote(tokens->content)) != 0) + return (status); + if (tokens->next == NULL) + tokens->tag &= ~TAG_STICK; } else { @@ -101,5 +98,5 @@ int lexer_trim(t_tok_lst *tokens) } tokens = tokens->next; } - return 0; + return (0); } |
