summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ebuild.sh12
1 files changed, 8 insertions, 4 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 61799ad88..8601863a0 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -33,22 +33,26 @@ fi
qa_source() {
local shopts=$(shopt) OLDIFS="$IFS"
- source "$@" || return 1
+ local retval
+ source "$@"
+ retval=$?
[[ $shopts != $(shopt) ]] &&
eqawarn "QA Notice: Global shell options changed and were not restored while sourcing '$*'"
[[ "$IFS" != "$OLDIFS" ]] &&
eqawarn "QA Notice: Global IFS changed and was not restored while sourcing '$*'"
- return 0
+ return $retval
}
qa_call() {
local shopts=$(shopt) OLDIFS="$IFS"
- "$@" || return 1
+ local retval
+ "$@"
+ retval=$?
[[ $shopts != $(shopt) ]] &&
eqawarn "QA Notice: Global shell options changed and were not restored while calling '$*'"
[[ "$IFS" != "$OLDIFS" ]] &&
eqawarn "QA Notice: Global IFS changed and was not restored while calling '$*'"
- return 0
+ return $retval
}
# subshell die support