diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/bop.c | 10 | ||||
| -rw-r--r-- | core/hook.c | 8 |
2 files changed, 13 insertions, 5 deletions
@@ -68,7 +68,7 @@ static int run_build(const char *build_dir, build_op_t bop) { char pathbuf[256]; - int error; + int error = 0; /* * There is a pre-build hook to be located within the [BUILD_DIR]/.bop/prehook.sh which @@ -78,7 +78,9 @@ run_build(const char *build_dir, build_op_t bop) if (bop != BUILD_OP_CLEAN) { snprintf(pathbuf, sizeof(pathbuf), "%s/.bop/prehook.sh", build_dir); if (access(pathbuf, F_OK) == 0) - bop_shell_hook(pathbuf); + error = bop_shell_hook(pathbuf); + if (error != 0) + return error; } error = bop_build_dir(build_dir, bop); @@ -91,7 +93,9 @@ run_build(const char *build_dir, build_op_t bop) if (bop != BUILD_OP_CLEAN) { snprintf(pathbuf, sizeof(pathbuf), "%s/.bop/posthook.sh", build_dir); if (access(pathbuf, F_OK) == 0) - bop_shell_hook(pathbuf); + error = bop_shell_hook(pathbuf); + if (error != 0) + return error; } return 0; diff --git a/core/hook.c b/core/hook.c index b2f3a2e..9e90b2b 100644 --- a/core/hook.c +++ b/core/hook.c @@ -49,7 +49,7 @@ int bop_shell_hook(const char *hook_path) { pid_t child; - int status; + int status = 0; if (hook_path == NULL) { return -1; @@ -62,5 +62,9 @@ bop_shell_hook(const char *hook_path) waitpid(child, &status, 0); } - return 0; + if (status != 0) { + printf("error: failure in '%s'\n", hook_path); + } + + return status; } |
