diff --git a/optipdf b/optipdf index aa48c72..b2db85d 100755 --- a/optipdf +++ b/optipdf @@ -4,7 +4,8 @@ PRESERVE_TIMESTAMP=0 LOSSY=0 KEEP_BACKUP_SUFFIX=.old-unoptimized -FORCE=0 +FORCE_OVERWRITE=0 +ENCODE_THRU_WARNINGS=0 TEMP_FILES=() cleanup() { @@ -24,11 +25,17 @@ for ARG; do --no-backup) KEEP_BACKUP_SUFFIX= ;; - --force|-f) - FORCE=1 + --careful) + ENCODE_THRU_WARNINGS=0 ;; - --no-force|--careful) - FORCE=0 + --no-careful) + ENCODE_THRU_WARNINGS=1 + ;; + --force|-f) + FORCE_OVERWRITE=1 + ;; + --no-force) + FORCE_OVERWRITE=0 ;; --lossy) LOSSY=1 @@ -110,7 +117,12 @@ use_smaller() { FILE=$1 \ TEMP=$2 \ ORIGSIZE \ - TEMPSIZE + TEMPSIZE \ + MV_ARGS=('-v') + + if [[ $FORCE_OVERWRITE -eq 0 ]]; then + MV_ARGS+=('-i') + fi ORIGSIZE=$(file_size "$FILE") TEMPSIZE=$(file_size "$TEMP") @@ -143,7 +155,7 @@ use_smaller() { fi && if [[ -n $KEEP_BACKUP_SUFFIX ]]; then - mv -vi -- "$FILE" "$FILE$KEEP_BACKUP_SUFFIX" + mv "${MV_ARGS[@]}" -- "$FILE" "$FILE$KEEP_BACKUP_SUFFIX" fi && cp \ @@ -181,7 +193,7 @@ if [[ $LOSSY -ne 0 ]]; then --optimize-images ) fi -if [[ $FORCE -ne 0 ]]; then +if [[ $ENCODE_THRU_WARNINGS -ne 0 ]]; then QPDF_ARGS+=( --warning-exit-0 )