From: Zac Medico Date: Sat, 9 Feb 2008 09:18:52 +0000 (-0000) Subject: Make qa_source and qa_call save the return value and return it. Thanks X-Git-Tag: v2.1.4.4~9 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4bb099550ddc4c4f7c4c6aa4e83783854f267311;p=portage.git Make qa_source and qa_call save the return value and return it. Thanks to igli for suggesting. (trunk r9278) svn path=/main/branches/2.1.2/; revision=9304 --- diff --git a/bin/ebuild.sh b/bin/ebuild.sh index eca24c626..37a9a6ed2 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