packages feed

libarchive 0.1.0.0 → 0.2.0.0

raw patch · 4 files changed

+17/−13 lines, 4 files

Files

CHANGELOG.md view
@@ -1,2 +1,5 @@ # libarchive +## 0.2.0.0++  * Fix bug in paths
libarchive.cabal view
@@ -1,11 +1,12 @@ cabal-version: 1.18 name: libarchive-version: 0.1.0.0+version: 0.2.0.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale maintainer: vanessa.mchale@iohk.io author: Vanessa McHale+bug-reports: https://github.com/vmchale/libarchive/issues synopsis: Haskell bindings for libarchive description:     Partial Haskell bindings for [libarchive](https://www.libarchive.org/). Provides the ability to unpack tar archives.
src/Codec/Archive.hs view
@@ -3,13 +3,12 @@     , unpackTarball     ) where -import Codec.Archive.Foreign (unpackToDir)-import qualified Data.ByteString as BS-import System.FilePath (pathSeparator)+import           Codec.Archive.Foreign (unpackToDir)+import qualified Data.ByteString       as BS  unpackTarball :: FilePath -- ^ Filepath pointing to @.tar@ file               -> FilePath -- ^ Filepath to unpack to               -> IO () unpackTarball tarFp dirFp = do     contents <- BS.readFile tarFp-    unpackToDir (dirFp ++ [pathSeparator]) contents+    unpackToDir dirFp contents
src/Codec/Archive/Foreign.hs view
@@ -1,18 +1,19 @@ module Codec.Archive.Foreign ( unpackToDir                              ) where-import Foreign.Ptr-import Foreign.C.String-import Foreign.C.Types-import Data.ByteString as BS-import Data.Word (Word)+import           Data.ByteString  as BS+import           Data.Word        (Word)+import           Foreign.C.String+import           Foreign.C.Types+import           Foreign.Ptr+import           System.FilePath  (pathSeparator)  foreign import ccall unsafe unpack_in_dir :: CString -> Ptr CChar -> Word -> IO () -unpackToDir :: FilePath +unpackToDir :: FilePath             -> BS.ByteString             -> IO () unpackToDir fp bs = do-    fp' <- newCString fp+    fp' <- newCString (fp ++ [pathSeparator])     useAsCStringLen bs $-        \(charPtr, sz) -> +        \(charPtr, sz) ->             unpack_in_dir fp' charPtr (fromIntegral sz)