33# URL: https://github.com/zevilz/zImageOptimizer
44# Author: Alexandr "zEvilz" Emshanov
55# License: MIT
6- # Version: 0.9.7
6+ # Version: 0.9.8
77
88sayWait ()
99{
@@ -608,14 +608,37 @@ checkTimeMarkerPermissions()
608608updateTimeMarker ()
609609{
610610 if [ $NEW_ONLY -eq 1 ]; then
611- sleep 1
612611 touch -m " $TIME_MARKER_FULL_PATH " > /dev/null
613- echo
614612 if [ $TIME_MARKER_ISSET -eq 1 ]; then
615613 echo " Time marker updated."
616614 else
617615 echo " Time marker created."
618616 fi
617+ echo
618+ fi
619+ }
620+
621+ fixTimeMarker ()
622+ {
623+ if [[ " $OSTYPE " == " darwin" * ]]; then
624+ TIME_MARKER_MODIFIED_TIME=$( stat -t %s -f %m -- " $TIME_MARKER_FULL_PATH " )
625+ else
626+ TIME_MARKER_MODIFIED_TIME=$( date -r " $TIME_MARKER_FULL_PATH " +%s)
627+ fi
628+
629+ TIME_MARKER_MODIFIED_TIME=$( echo " $TIME_MARKER_MODIFIED_TIME +1" | bc)
630+
631+ if date --version > /dev/null 2> /dev/null ; then
632+ touch -t $( date ' +%Y%m%d%H%M.%S' -d @$TIME_MARKER_MODIFIED_TIME ) " $TIME_MARKER_FULL_PATH " > /dev/null # GNU version of date
633+ else
634+ touch -t $( date -r $TIME_MARKER_MODIFIED_TIME +%Y%m%d%H%M.%S) " $TIME_MARKER_FULL_PATH " > /dev/null # Non GNU version of date
635+ fi
636+ }
637+
638+ updateModifyTime ()
639+ {
640+ if [ $NEW_ONLY -eq 1 ]; then
641+ touch " $IMAGE " -r " $TIME_MARKER_FULL_PATH " > /dev/null
619642 fi
620643}
621644
@@ -1453,6 +1476,9 @@ else
14531476 fi
14541477fi
14551478
1479+ # Return to script dir to prevent find errors
1480+ cd " $SCRIPT_PATH "
1481+
14561482# Find images
14571483IMAGES=$( find " $DIR_PATH " $FIND_INCLUDE \( $FIND_NAMES \) | findExclude)
14581484
@@ -1473,11 +1499,14 @@ if ! [ -z "$IMAGES" ]; then
14731499 # Check isset working dir in lock file
14741500 checkDirLock
14751501
1476- echo " Optimizing..."
1477-
14781502 # Lock working dir in lock file
14791503 lockDir
14801504
1505+ # Update time marker
1506+ updateTimeMarker
1507+
1508+ echo " Optimizing..."
1509+
14811510 # Init stat vars
14821511 INPUT=0
14831512 OUTPUT=0
@@ -1602,6 +1631,9 @@ if ! [ -z "$IMAGES" ]; then
16021631 # Restore permissions
16031632 restorePerms
16041633
1634+ # Update modify time from time marker
1635+ updateModifyTime
1636+
16051637 # Remove original file
16061638 rm " $TMP_PATH /$( basename " $IMAGE " ) .bkp"
16071639
@@ -1667,8 +1699,8 @@ if ! [ -z "$IMAGES" ]; then
16671699
16681700 ) # End of loop process. Further variable variables inside loop will not be available
16691701
1670- # Update time marker
1671- updateTimeMarker
1702+ # Time marker fix
1703+ fixTimeMarker
16721704
16731705 # Unlock working dir in lock file
16741706 unlockDir
0 commit comments