Shell: Don't reset 'last_return_code' before running commands

Some variables depend on its value to function correctly.
Fixes the following issue:
    $ false; echo $?
    1
    $ false
    $ echo $?
    128
This commit is contained in:
Ali Mohammad Pur 2022-01-05 08:00:06 +03:30 committed by Andreas Kling
commit 310a18da1e
Notes: sideshowbarker 2024-07-17 21:20:49 +09:00
4 changed files with 20 additions and 18 deletions

View file

@ -1059,7 +1059,7 @@ int Shell::builtin_not(int argc, const char** argv)
}
// In case it was a function.
if (!found_a_job)
exit_code = last_return_code;
exit_code = last_return_code.value_or(0);
return exit_code == 0 ? 1 : 0;
}