diff options
author | Max Nordlund <max.nordlund@gmail.com> | 2015-11-25 14:37:48 +0100 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2015-12-03 20:59:12 -0800 |
commit | 2d90859cab220df375d2cfe69a527bff85cc2782 (patch) | |
tree | 1323b4fbfb6953bfea625098cc03e82cde57129a /src/builtin_jobs.cpp | |
parent | d325b4bf393df78b98380233e50e8242748bb384 (diff) |
Fix wrong exit code for `jobs` #2505
Diffstat (limited to 'src/builtin_jobs.cpp')
-rw-r--r-- | src/builtin_jobs.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/builtin_jobs.cpp b/src/builtin_jobs.cpp index 6f4b57a8..adb53788 100644 --- a/src/builtin_jobs.cpp +++ b/src/builtin_jobs.cpp @@ -254,15 +254,6 @@ static int builtin_jobs(parser_t &parser, io_streams_t &streams, wchar_t **argv) } } - - /* - Do not babble if not interactive - */ - if (streams.out_is_redirected) - { - found=1; - } - if (print_last) { /* @@ -275,7 +266,7 @@ static int builtin_jobs(parser_t &parser, io_streams_t &streams, wchar_t **argv) if ((j->flags & JOB_CONSTRUCTED) && !job_is_completed(j)) { - builtin_jobs_print(j, mode, !found, streams); + builtin_jobs_print(j, mode, !streams.out_is_redirected, streams); return 0; } } @@ -287,8 +278,6 @@ static int builtin_jobs(parser_t &parser, io_streams_t &streams, wchar_t **argv) { int i; - found = 1; - for (i=w.woptind; i<argc; i++) { int pid; @@ -307,7 +296,8 @@ static int builtin_jobs(parser_t &parser, io_streams_t &streams, wchar_t **argv) if (j && !job_is_completed(j)) { - builtin_jobs_print(j, mode, !found, streams); + builtin_jobs_print(j, mode, false, streams); + found = 1; } else { @@ -338,9 +328,15 @@ static int builtin_jobs(parser_t &parser, io_streams_t &streams, wchar_t **argv) if (!found) { - streams.out.append_format( - _(L"%ls: There are no jobs\n"), - argv[0]); + /* + Do not babble if not interactive + */ + if (streams.out_is_redirected) + { + streams.out.append_format( + _(L"%ls: There are no jobs\n"), + argv[0]); + } return 1; } |