From e210ba84b1c68ad83e040526fef33b91ebf0eb7f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 6 Feb 2008 06:08:51 +0000 Subject: Make qa_source and qa_call save the return value and return it. Thanks to igli for suggesting. svn path=/main/trunk/; revision=9278 --- bin/ebuild.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'bin') 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 -- cgit v1.2.3-1-g7c22