From 4bb099550ddc4c4f7c4c6aa4e83783854f267311 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 9 Feb 2008 09:18:52 +0000 Subject: 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 --- bin/ebuild.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 -- cgit v1.2.3-1-g7c22