diff options
-rwxr-xr-x | bin/ebuild.sh | 12 |
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 |