packages feed

tools-yj 0.1.0.40 → 0.1.0.41

raw patch · 2 files changed

+25/−1 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Foreign.C.ByteArray: fromCStringLen :: CStringLen -> CByteArray
+ Foreign.C.ByteArray: packToByteString :: CByteArray -> IO ByteString
+ Foreign.C.ByteArray: toCStringLen :: CByteArray -> CStringLen
+ Foreign.C.ByteArray: type CByteArray = (Ptr Word8, Int)
+ Foreign.C.ByteArray: useAsFromByteString :: ByteString -> (CByteArray -> IO a) -> IO a

Files

+ src/Foreign/C/ByteArray.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE ImportQualifiedPost #-}+{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}++module Foreign.C.ByteArray where++import Foreign.Ptr+import Foreign.C.String+import Data.Word+import Data.ByteString qualified as BS++type CByteArray = (Ptr Word8, Int)++fromCStringLen :: CStringLen -> CByteArray+fromCStringLen (p, n) = (castPtr p, n)++toCStringLen :: CByteArray -> CStringLen+toCStringLen (p, n) = (castPtr p, n)++packToByteString :: CByteArray -> IO BS.ByteString+packToByteString = BS.packCStringLen . toCStringLen++useAsFromByteString :: BS.ByteString -> (CByteArray -> IO a) -> IO a+useAsFromByteString bs f = BS.useAsCStringLen bs $ f . fromCStringLen
tools-yj.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           tools-yj-version:        0.1.0.40+version:        0.1.0.41 synopsis:       Tribial tools description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/tools-yj#readme> category:       Tools@@ -46,6 +46,7 @@       Data.Tuple.ToolsYj       Data.Word.Adler32       Data.Word.Crc32+      Foreign.C.ByteArray       Text.Show.ToolsYj   other-modules:       Paths_tools_yj