about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xxpkgdiff12
1 files 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