From 17bb4ce14ef58a0c4175b52cb8802011c57afe0f Mon Sep 17 00:00:00 2001 From: Adam Joly Date: Mon, 15 Jul 2024 14:27:43 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=94=A8=E3=80=8D=20fix:=20quote?= =?UTF-8?q?=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/exec/format_quotes.c | 44 ++++++++++++++++++++++++--- src/main.c | 4 +-- src/parsing/env_var/env_var_replace.c | 13 +++++--- src/parsing/tokenizer/__to_redir.c | 4 +-- 4 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/exec/format_quotes.c b/src/exec/format_quotes.c index 9a3a684..d73e79b 100644 --- a/src/exec/format_quotes.c +++ b/src/exec/format_quotes.c @@ -6,21 +6,57 @@ /* By: mmoussou +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/06/05 21:14:04 by adjoly #+# #+# */ -/* Updated: 2024/07/15 14:00:50 by adjoly ### ########.fr */ +/* Updated: 2024/07/15 14:26:26 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -62,14 +62,17 @@ size_t strlen_till_notalnum(char *s) size_t __add_dollar(t_env *env, char **rl_dollared, char *tmp) { size_t dollar_size; + char *exit_code; tmp++; if ((*tmp) == '?') { - ft_strlcat(*rl_dollared, ft_itoa(get_exit_code(-1)), \ - ft_strlen(ft_itoa(get_exit_code(-1))) \ + exit_code = ft_itoa(get_exit_code(-1)); + ft_strlcat(*rl_dollared, exit_code, \ + ft_strlen(exit_code) \ + ft_strlen(*rl_dollared) + 1); - return (1); + free(exit_code); + return (2); } dollar_size = strlen_till_notalnum(tmp); __cpy_dollar(tmp, dollar_size, env, rl_dollared); @@ -88,7 +91,7 @@ char *env_var_replace(char *readline, t_env *env) while (*tmp) { if (*tmp == '$' && is_inquote(readline, tmp - readline) != SINGLE) - tmp += __add_dollar(env, &rl_dollared, tmp) + 1; + tmp += __add_dollar(env, &rl_dollared, tmp); else { ft_strlcat(rl_dollared, tmp, ft_strlen(rl_dollared) + 2); diff --git a/src/parsing/tokenizer/__to_redir.c b/src/parsing/tokenizer/__to_redir.c index 7e3bf33..6b3cfe1 100644 --- a/src/parsing/tokenizer/__to_redir.c +++ b/src/parsing/tokenizer/__to_redir.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/25 15:06:15 by adjoly #+# #+# */ -/* Updated: 2024/07/14 17:25:25 by adjoly ### ########.fr */ +/* Updated: 2024/07/15 14:12:50 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,8 +27,6 @@ t_redirection *__to_redir(char *redir_s) while (*redir_s && *redir_s == ' ') redir_s++; tmp = redir_s; - // if (*tmp == '/' || *tmp == '.') - // return (redir); if (!ft_isalnum(*tmp) && *tmp != '/' && *tmp != '.') return (redir); while (*tmp && ft_isalnum(*tmp) && *tmp != '/' && *tmp != '.')