code cleanup: force local var before calling a for loop, make sure it's unset when no longer needed

This commit is contained in:
fatalerrors
2021-10-06 10:37:13 +02:00
parent c0b1bf1665
commit 1ac3ec303c
9 changed files with 65 additions and 16 deletions

View File

@@ -26,6 +26,7 @@ function die()
else
prnt W "On continue malgrés l'erreur #$errorcode."
fi
unset errorcode
# Put the trigger back (only executed with --keepgoing)
trap "error ${LINENO}" ERR
@@ -61,6 +62,7 @@ function error()
else
prnt E "Erreur ligne $(caller), avec le code d'erreur $code."
fi
unset parent_lineno message code
}
# Trigger error function on error
trap "error ${LINENO}; backtrace; err_exit" ERR
@@ -82,14 +84,16 @@ function backtrace
{
echo "======== Pile d'appel ========"
typeset -i i=0
for func in "${FUNCNAME[@]}"
do
local func=
for func in "${FUNCNAME[@]}"; do
if [[ $i -ne 0 ]]; then
printf '%15s() %s:%d\n' \
"$func" "${BASH_SOURCE[$i]}" "${BASH_LINENO[ (( $i - 1)) ]}"
fi
let i++ || true
done
unset func i
echo "=============================="
}
@@ -111,8 +115,7 @@ noerror()
else
$@
fi
local code=$?
echo $code
echo $?
trap "error ${LINENO}" ERR
set -o errexit