throw utf8 errors
This commit is contained in:
parent
094c70935f
commit
843683d024
@ -181,6 +181,7 @@ unZipStream = next where
|
||||
nlen <- fromIntegral <$> G.getWord16le
|
||||
elen <- fromIntegral <$> G.getWord16le
|
||||
name <- G.getByteString nlen
|
||||
dName <- if testBit gpf 11 then Left <$> either (fail . show) return (TE.decodeUtf8' name) else return $ Right name
|
||||
let getExt ext = do
|
||||
t <- G.getWord16le
|
||||
z <- fromIntegral <$> G.getWord16le
|
||||
@ -217,7 +218,7 @@ unZipStream = next where
|
||||
}
|
||||
return FileHeader
|
||||
{ fileEntry = ZipEntry
|
||||
{ zipEntryName = if testBit gpf 11 then Left (TE.decodeUtf8 name) else Right name
|
||||
{ zipEntryName = dName
|
||||
, zipEntryTime = time
|
||||
, zipEntrySize = if testBit gpf 3 then Nothing else Just extZip64USize
|
||||
, zipEntryExternalAttributes = Nothing
|
||||
|
||||
Loading…
Reference in New Issue
Block a user