From 8f5e62949a7ee88b85cf45a62617026549e3040a Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Fri, 2 Sep 2022 04:51:49 -0400 Subject: xpkgdiff: clean up even on error --- xpkgdiff | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/xpkgdiff b/xpkgdiff index 9072b34..581366e 100755 --- a/xpkgdiff +++ b/xpkgdiff @@ -6,13 +6,15 @@ usage() { exit 1 } +cleanup() { + rm -rf $TMPDIR +} + : ${DIFF:="diff -u --color"} # by default, don't sort SORT='cat' -TMPDIR=$(mktemp --tmpdir -d "xpkgdiff.XXXXX") - while getopts Sc:fhp:rtx flag; do case $flag in S) QUERY='--show' ;; @@ -31,6 +33,10 @@ shift $(($OPTIND - 1)) [ "$#" -eq 0 ] && usage [ -z "$QUERY" ] && usage +TMPDIR=$(mktemp --tmpdir -d "xpkgdiff.XXXXX") + +trap cleanup EXIT INT TERM + if [ "$QUERY" = '--deps' ] && [ -n "$FULLTREE" ]; then QUERY='--fulldeptree --deps' fi @@ -80,5 +86,3 @@ else fi $DIFF $TMPDIR/$FILE1 $TMPDIR/$FILE2 - -rm -rf $TMPDIR -- cgit 1.4.1