diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2020-03-13 16:26:51 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2020-03-15 12:48:33 -0400 |
commit | 10975c723ed0c5a6764fda3d4f539a36033dcb0d (patch) | |
tree | 15d36bffb2ac490a095ae66a2b4f04bf28860986 /exec.c | |
parent | 56a862fded43b528eadc232d37a8684b48ef702c (diff) | |
download | bfs-10975c723ed0c5a6764fda3d4f539a36033dcb0d.tar.xz |
exec: Warn if a command dies abnormally
Diffstat (limited to 'exec.c')
-rw-r--r-- | exec.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -37,7 +37,7 @@ /** Print some debugging info. */ BFS_FORMATTER(2, 3) static void bfs_exec_debug(const struct bfs_exec *execbuf, const char *format, ...) { - if (!(execbuf->flags & BFS_EXEC_DEBUG)) { + if (!(execbuf->cmdline->debug & DEBUG_EXEC)) { return; } @@ -123,6 +123,7 @@ struct bfs_exec *parse_bfs_exec(char **argv, enum bfs_exec_flags flags, const st } execbuf->flags = flags; + execbuf->cmdline = cmdline; execbuf->argv = NULL; execbuf->argc = 0; execbuf->argv_cap = 0; @@ -133,10 +134,6 @@ struct bfs_exec *parse_bfs_exec(char **argv, enum bfs_exec_flags flags, const st execbuf->wd_len = 0; execbuf->ret = 0; - if (cmdline->debug & DEBUG_EXEC) { - execbuf->flags |= BFS_EXEC_DEBUG; - } - size_t i; for (i = 1; ; ++i) { const char *arg = argv[i]; @@ -391,9 +388,9 @@ fail: } } else if (WIFSIGNALED(wstatus)) { int sig = WTERMSIG(wstatus); - bfs_exec_debug(execbuf, "Command '%s' terminated by signal %d\n", execbuf->argv[0], sig); + bfs_warning(execbuf->cmdline, "Command '${ex}%s${rs}' terminated by signal %d\n", execbuf->argv[0], sig); } else { - bfs_exec_debug(execbuf, "Command '%s' terminated abnormally\n", execbuf->argv[0]); + bfs_warning(execbuf->cmdline, "Command '${ex}%s${rs}' terminated abnormally\n", execbuf->argv[0]); } errno = 0; |