The phrase "if [ $? -ne 0 ]; then exit $?; fi" doesn't work correctly;
by the time the "exit" statement runs, $? has already been over-written
by the result of the [ command. Fix this by explicitly storing $? and
then using that stored value in both the test and the error-case exit
statement.
This change also converts from textual comparison to integer comparison,
since the exit code is an integer and there's no need to convert it to
a string for comparison.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
- if [[ "${BUILDMAN}" != "" ]]; then
set +e;
tools/buildman/buildman ${BUILDMAN};
- if [[ "$?" == "0" || "$?" == "129" ]]; then
+ ret=$?;
+ if [[ $ret -eq 0 || $ret -eq 129 ]]; then
exit 0;
else
- exit $?;
- fi
+ exit $ret;
+ fi;
fi
matrix: