binary-file 0.15.10 → 0.15.11
raw patch · 2 files changed
+12/−6 lines, 2 files
Files
- binary-file.cabal +2/−2
- src/File/Binary/Instances.hs +10/−4
binary-file.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8 name: binary-file-version: 0.15.10+version: 0.15.11 stability: experimental author: Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer: Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -90,7 +90,7 @@ source-repository this type: git location: git://github.com/YoshikuniJujo/binary-file.git- tag: 0.15.10+ tag: 0.15.11 library hs-source-dirs: src
src/File/Binary/Instances.hs view
@@ -5,8 +5,9 @@ import Prelude hiding (take, drop) import File.Binary.Classes (Field(..), Binary(..))-import Data.ByteString.Lazy (ByteString, take, drop, toChunks, fromChunks)-import Data.ByteString.Lazy.Char8 (pack, unpack)+import Data.Word (Word8)+import Data.ByteString.Lazy (ByteString, take, drop, toChunks, fromChunks, pack, unpack)+import qualified Data.ByteString.Lazy.Char8 as BSLC (pack, unpack) import qualified Data.ByteString as BS (ByteString, take, drop, concat) import Control.Monad (replicateM) import "monads-tf" Control.Monad.State (StateT(..), gets)@@ -28,6 +29,11 @@ instance Field Char where type FieldArgument Char = ()+ fromBinary _ = return . first (head . BSLC.unpack) . getBytes 1+ toBinary _ = makeBinary . BSLC.pack . (: [])++instance Field Word8 where+ type FieldArgument Word8 = () fromBinary _ = return . first (head . unpack) . getBytes 1 toBinary _ = makeBinary . pack . (: []) @@ -49,8 +55,8 @@ -------------------------------------------------------------------------------- instance Binary String where- getBytes n = first pack . splitAt n- makeBinary = unpack+ getBytes n = first BSLC.pack . splitAt n+ makeBinary = BSLC.unpack instance Binary ByteString where getBytes n = take (fromIntegral n) &&& drop (fromIntegral n)