lib/common.sh: Make setup_workdir()/cleanup() safe for programs to not use

This commit is contained in:
Luke Shumaker 2017-03-25 12:34:41 -04:00 committed by Jan Alexander Steffens (heftig)
parent d4f09b2c7b
commit 8ff247de13
No known key found for this signature in database
GPG Key ID: A5E9288C4FA415FA
1 changed files with 7 additions and 4 deletions

View File

@ -59,12 +59,18 @@ stat_done() {
printf "${BOLD}done${ALL_OFF}\n" >&2
}
_setup_workdir=false
setup_workdir() {
[[ -z $WORKDIR ]] && WORKDIR=$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX")
_setup_workdir=true
trap 'trap_abort' INT QUIT TERM HUP
trap 'trap_exit' EXIT
}
cleanup() {
[[ -n $WORKDIR ]] && rm -rf "$WORKDIR"
if [[ -n $WORKDIR ]] && $_setup_workdir; then
rm -rf "$WORKDIR"
fi
exit ${1:-0}
}
@ -89,9 +95,6 @@ die() {
cleanup 255
}
trap 'trap_abort' INT QUIT TERM HUP
trap 'trap_exit' EXIT
##
# usage : in_array( $needle, $haystack )
# return : 0 - found