diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-09-15 18:37:11 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-09-15 18:37:11 +0200 |
| commit | b6e732d73ecaa35f2583a324aace7711d5f4a05e (patch) | |
| tree | 76eea928952324acbd571c2e43d457bb721c8a58 /src/lexer/trim.c | |
| parent | f626f2715ab696fdb326ed67256d012d86faef9f (diff) | |
| download | minishell-b6e732d73ecaa35f2583a324aace7711d5f4a05e.tar.gz minishell-b6e732d73ecaa35f2583a324aace7711d5f4a05e.tar.bz2 minishell-b6e732d73ecaa35f2583a324aace7711d5f4a05e.zip | |
Added lexer quote mismatch error message, Fixing escape on last character
Diffstat (limited to 'src/lexer/trim.c')
| -rw-r--r-- | src/lexer/trim.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/lexer/trim.c b/src/lexer/trim.c index cffe43a..0bdacac 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:33:13 by charles ### ########.fr */ +/* Updated: 2020/09/15 18:31:56 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,19 +35,17 @@ void del_space(char *str) int del_quote(char *str) { size_t i; - int nb_q; + size_t quote_counter; i = 0; - nb_q = 1; + quote_counter = 1; if (str[0] == '\'') { while (str[i++] != '\0') { - if (str[i] == '\\') - i += 2; if (str[i] == '\'') { - nb_q++; + quote_counter++; break ; } } @@ -60,21 +58,19 @@ int del_quote(char *str) i += 2; if (str[i] == '"') { - nb_q++; + quote_counter++; break ; } } } - if (nb_q % 2 == 0) - { - str[i] = '\0'; - if(!(ft_memmove(str, str + 1, ft_strlen(str + 1) + 1))) - return 1; - else - return 0; - } - else - return 2; + if (quote_counter % 2 == 1) + { + errorf("unexpected EOF while looking for matching `%c'\n", str[0]); + return (1); + } + str[i] = '\0'; + ft_memmove(str, str + 1, ft_strlen(str + 1) + 1); + return (0); } int lexer_trim(t_tok_lst *tokens) |
