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 +23/−0
- tools-yj.cabal +2/−1
+ 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