From: Zac Medico Date: Wed, 6 Feb 2008 06:08:51 +0000 (-0000) Subject: Make qa_source and qa_call save the return value and return it. Thanks X-Git-Tag: v2.2_pre1~19 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e210ba84b1c68ad83e040526fef33b91ebf0eb7f;p=portage.git Make qa_source and qa_call save the return value and return it. Thanks to igli for suggesting. svn path=/main/trunk/; revision=9278 --- 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