← Commit list

b7adf7ac3

Denys Vlasenko
Denys Vlasenko
2016-10-25
SUCCESS Duration: 253s

Subject

ash,hush: set exit code 127 in "sh /does/not/exist" case

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/ash.c+1 -2
@@ -10234,6 +10234,7 @@ setinputfile(const char *fname, int flags)
if (fd < 0) {
if (flags & INPUT_NOFILE_OK)
goto out;
+ exitstatus = 127;
ash_msg_and_raise_error("can't open '%s'", fname);
}
if (fd < 10) {
@@ -13403,8 +13404,6 @@ int ash_main(int argc UNUSED_PARAM, char **argv)
reset();
e = exception_type;
- if (e == EXERROR)
- exitstatus = 2;
s = state;
if (e == EXEXIT || s == 0 || iflag == 0 || shlvl) {
exitshell();
shell/hush.c+2 -0
@@ -8409,7 +8409,9 @@ int hush_main(int argc, char **argv)
G.global_argc--;
G.global_argv++;
debug_printf("running script '%s'\n", G.global_argv[0]);
+ xfunc_error_retval = 127; /* for "hush /does/not/exist" case */
input = xfopen_for_read(G.global_argv[0]);
+ xfunc_error_retval = 1;
remember_FILE(input);
install_special_sighandlers();
parse_and_run_file(input);