Closed faboussard closed 5 months ago
L'exec ne peut pas traiter une syntax error, surtout quand celle-ci doit renvoyer une phrase d'erreur de check_syntax.
Donc, ici : '"'"
(en espaçant : ' " ' ")
La premiere double quote ne doit pas être considérée comme un commencement de "citation", il faut que le programme considère la seconde double quote comme un début qui ne s'est pas fini.
Là-dessus, ça pourrait reprendre un fonctionnement similaire à ce que j'avais fait dans pipex, dans ma gestion des quote.
Si "
n'a pas été précédé par un '
/ Si '
n'a pas été précédé par un "
, alors il ne doit pas être considéré comme un début de quote.
Une idée de fonction que je viens de coder, à voir si elle fonctionne en pratique :
bool quote_should_not_be_seen_as_a_real_quote(char *str, char quote, size_t i)
{
bool first_quote_is_open;
char other_quote;
size_t j;
if (quote == '\'')
other_quote = '\"';
else
other_quote = '\'';
first_quote_is_open = 0;
j = 0;
while (j < i && str[j])
{
if (str[j] == other_quote)
first_quote_is_open = !first_quote_is_open;
j++;
}
return (first_quote_is_open);
}
07:22:32 juba@juba-desktop minishell ±|parsing ✗|→ '"'"