packages feed

zip-archive 0.4.3.1 → 0.4.3.2

raw patch · 3 files changed

+15/−4 lines, 3 filesdep ~base

Dependency ranges changed: base

Files

changelog view
@@ -1,3 +1,9 @@+zip-archive 0.4.3.2++  * readEntry: Fix computation of modification time (#67).+    It should be a UNIX time (seconds since UNIX epoch), but+    computed relative to the local time zone, not UTC.+ zip-archive 0.4.3.1    * Use streaming decompress to identify extent of compressed data (#66).
src/Codec/Archive/Zip.hs view
@@ -72,8 +72,9 @@  import Data.Time.Calendar ( toGregorian, fromGregorian ) import Data.Time.Clock ( UTCTime(..) )+import Data.Time.LocalTime ( TimeZone(..), TimeOfDay(..), timeToTimeOfDay,+                             getTimeZone ) import Data.Time.Clock.POSIX ( posixSecondsToUTCTime, utcTimeToPOSIXSeconds )-import Data.Time.LocalTime ( TimeOfDay(..), timeToTimeOfDay ) import Data.Bits ( shiftL, shiftR, (.&.), (.|.), xor, testBit ) import Data.Binary import Data.Binary.Get@@ -85,7 +86,7 @@ import System.FilePath import System.Directory        (doesDirectoryExist, getDirectoryContents,-        createDirectoryIfMissing, getModificationTime)+        createDirectoryIfMissing, getModificationTime,) import Control.Monad ( when, unless, zipWithM_ ) import qualified Control.Exception as E import System.IO ( stderr, hPutStrLn )@@ -315,7 +316,11 @@                         return B.empty                       else                         B.fromStrict <$> S.readFile path-  modEpochTime <- (floor . utcTimeToPOSIXSeconds) <$> getModificationTime path+  modTime <- getModificationTime path+  tzone <- getTimeZone modTime+  let modEpochTime = -- UNIX time computed relative to LOCAL time zone! (#67)+        floor (utcTimeToPOSIXSeconds modTime) ++          fromIntegral (timeZoneMinutes tzone * 60)   let entry = toEntry path' modEpochTime contents    entryE <-
zip-archive.cabal view
@@ -1,5 +1,5 @@ Name:                zip-archive-Version:             0.4.3.1+Version:             0.4.3.2 Cabal-Version:       2.0 Build-type:          Simple Synopsis:            Library for creating and modifying zip archives.