diff --git a/optipdf b/optipdf index fc32636..4ef798c 100755 --- a/optipdf +++ b/optipdf @@ -42,6 +42,12 @@ KEEP_BACKUP_SUFFIX= FORCE_OVERWRITE=0 ENCODE_THRU_WARNINGS=0 +TEMP_DIR=$(mktemp -d -t "${0##*/}.XXXXXX") +cleanup() { + rm -fr -- "$TEMP_DIR" +} +trap 'cleanup' EXIT + FILES=() NO_MORE_FLAGS=0 for ARG; do @@ -98,11 +104,9 @@ for ARG; do fi done -TEMP_DIR= - if [[ ${#FILES[@]} -eq 0 ]]; then USAGE >&2 - exit 2 + exit 1 fi file_size() { @@ -155,16 +159,6 @@ hr_size() ( printf '%g %s\n' "$HR_VAL" "$HR_UNIT" ) -setup_tempdir() { - if [[ -z $TEMP_DIR ]]; then - TEMP_DIR=$(mktemp -d -t "${0##*/}.XXXXXX") - cleanup() { - rm -fr -- "$TEMP_DIR" - } - trap 'cleanup' EXIT - fi -} - # copies $2 over to $1 if $2 is smaller than $1 use_smaller() { # if `$TEMP' isn't empty and it's of a smaller size than `$FILE', @@ -256,8 +250,7 @@ fi ERRORS=0 FREED_TOTAL=0 for FILE in "${FILES[@]}"; do - setup_tempdir - TEMP=$(mktemp -p "$TEMP_DIR" 'file.XXXXXX') + TEMP=$(mktemp -p "$TEMP_DIR" -t 'file.XXXXXX') rm -f -- "$TEMP" BEGIN_FILESIZE=$(file_size "$FILE")