fix(echo): echo - was treated as echo -n

Small logic error on my part
This commit is contained in:
Khaïs COLIN 2025-04-03 17:17:51 +02:00
parent d40560bb37
commit 0cfa2677c5
Signed by: logistic-bot
SSH key fingerprint: SHA256:RlpiqKeXpcPFZZ4y9Ou4xi2M8OhRJovIwDlbCaMsuAo
2 changed files with 11 additions and 2 deletions

View file

@ -6,7 +6,7 @@
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */ /* By: khais <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/03 13:59:13 by khais #+# #+# */ /* Created: 2025/04/03 13:59:13 by khais #+# #+# */
/* Updated: 2025/04/03 14:11:57 by khais ### ########.fr */ /* Updated: 2025/04/03 17:18:54 by khais ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -26,7 +26,9 @@ static bool should_print_newline(t_wordlist **arg)
if ((*arg)->word->word[0] != '-') if ((*arg)->word->word[0] != '-')
break ; break ;
i = 1; i = 1;
end_of_args = false; end_of_args = (*arg)->word->word[i] == '\0';
if (end_of_args)
break ;
while ((*arg)->word->word[i] != '\0' && !end_of_args) while ((*arg)->word->word[i] != '\0' && !end_of_args)
{ {
if ((*arg)->word->word[i++] != 'n') if ((*arg)->word->word[i++] != 'n')

View file

@ -452,6 +452,13 @@ hi -n hello
goodbye goodbye
EOF EOF
when_run <<EOF "echo - n"
echo - n hi
EOF
expecting <<EOF
- n hi
EOF
EXTRAENV="-i" EXTRAENV="-i"
when_run <<EOF "env works" when_run <<EOF "env works"
echo this should be empty: echo this should be empty: