mirror of
https://codeberg.org/la-chouette/minishell.git
synced 2025-12-05 23:18:08 +01:00
fix(exec/and or): was exiting too soon
This commit is contained in:
parent
7a5e838fcf
commit
f0f19c3c0a
2 changed files with 55 additions and 5 deletions
|
|
@ -6,7 +6,7 @@
|
|||
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/07 10:38:55 by khais #+# #+# */
|
||||
/* Updated: 2025/04/16 16:56:20 by khais ### ########.fr */
|
||||
/* Updated: 2025/04/25 17:58:15 by khais ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -19,17 +19,19 @@
|
|||
static void connec_and_cmd_execute(t_connec_cmd *cmd, t_minishell *app,
|
||||
bool should_exit)
|
||||
{
|
||||
cmd_execute(cmd->first, app, should_exit);
|
||||
(void)should_exit;
|
||||
cmd_execute(cmd->first, app, false);
|
||||
if (app->last_return_value == 0)
|
||||
cmd_execute(cmd->second, app, should_exit);
|
||||
cmd_execute(cmd->second, app, false);
|
||||
}
|
||||
|
||||
static void connec_or_cmd_execute(t_connec_cmd *cmd, t_minishell *app,
|
||||
bool should_exit)
|
||||
{
|
||||
cmd_execute(cmd->first, app, should_exit);
|
||||
(void)should_exit;
|
||||
cmd_execute(cmd->first, app, false);
|
||||
if (app->last_return_value != 0)
|
||||
cmd_execute(cmd->second, app, should_exit);
|
||||
cmd_execute(cmd->second, app, false);
|
||||
}
|
||||
|
||||
void connec_cmd_execute(t_connec_cmd *cmd, t_minishell *app,
|
||||
|
|
|
|||
48
test.sh
48
test.sh
|
|
@ -1284,4 +1284,52 @@ hello
|
|||
hi
|
||||
EOF
|
||||
|
||||
when_run <<EOF "and withing subshell"
|
||||
touch hi hello
|
||||
(ls && ls)
|
||||
echo \$?
|
||||
EOF
|
||||
expecting <<EOF
|
||||
hello
|
||||
hi
|
||||
hello
|
||||
hi
|
||||
0
|
||||
EOF
|
||||
|
||||
when_run <<EOF "or withing subshell"
|
||||
touch hi hello
|
||||
(false || ls)
|
||||
echo \$?
|
||||
EOF
|
||||
expecting <<EOF
|
||||
hello
|
||||
hi
|
||||
0
|
||||
EOF
|
||||
|
||||
when_run <<EOF "and"
|
||||
touch hi hello
|
||||
ls && ls
|
||||
echo \$?
|
||||
EOF
|
||||
expecting <<EOF
|
||||
hello
|
||||
hi
|
||||
hello
|
||||
hi
|
||||
0
|
||||
EOF
|
||||
|
||||
when_run <<EOF "or"
|
||||
touch hi hello
|
||||
false || ls
|
||||
echo \$?
|
||||
EOF
|
||||
expecting <<EOF
|
||||
hello
|
||||
hi
|
||||
0
|
||||
EOF
|
||||
|
||||
finalize
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue