diff options
Diffstat (limited to 'addons.mozilla.org-fsd/get-data/err')
-rwxr-xr-x | addons.mozilla.org-fsd/get-data/err | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/addons.mozilla.org-fsd/get-data/err b/addons.mozilla.org-fsd/get-data/err new file mode 100755 index 0000000..57ea542 --- /dev/null +++ b/addons.mozilla.org-fsd/get-data/err @@ -0,0 +1,69 @@ +#!/bin/bash +# this file was generated from gen-err and meant to be sourced +bash-trace() { + local -i argc_index=0 frame i start=${1:-1} max_indent=8 indent + local source + local extdebug=false + if [[ $(shopt -p extdebug) == *-s* ]]; then + extdebug=true + fi + for ((frame=0; frame < ${#FUNCNAME[@]}-1; frame++)); do + argc=${BASH_ARGC[frame]} + argc_index+=$argc + ((frame < start)) && continue + if (( ${#BASH_SOURCE[@]} > 1 )); then + source="${BASH_SOURCE[frame+1]}:${BASH_LINENO[frame]}:" + fi + indent=$((frame-start+1)) + indent=$((indent < max_indent ? indent : max_indent)) + printf "%${indent}s↳%sin \`%s" '' "$source" "${FUNCNAME[frame]}" + if $extdebug; then + for ((i=argc_index-1; i >= argc_index-argc; i--)); do + printf " %s" "${BASH_ARGV[i]}" + done + fi + echo \' + done +} +errallow() { + if [[ $1 ]]; then + echo "errallow help: Undo the complimentary errcatch function." + else + set +E +o pipefail; trap ERR + fi +} +errcatch() { + set -E; shopt -s extdebug + _err-trap() { + err=$? + exec >&2 + set +x + echo "${BASH_SOURCE[1]}:${BASH_LINENO[0]}:in \`$BASH_COMMAND' returned $err" + bash-trace 2 + set -e + "${_errcatch_cleanup[@]}" + echo "$0: exiting with code $err" + exit $err + } + trap _err-trap ERR + set -o pipefail +} +errexit() { + exec >&2 + code=1 + if [[ $@ ]]; then + if [[ ${1/[^0-9]/} == "$1" ]]; then + code=$1 + if [[ $2 ]]; then + echo "$2" + fi + else + echo "$0: $1" + fi + fi + echo "${BASH_SOURCE[1]}:${BASH_LINENO[0]}" + bash-trace 2 + echo "$0: exiting with code $code" + exit $err +} +errcatch |