From d1ef5f2079d78d628ff0670bc33de4f3738e6b51 Mon Sep 17 00:00:00 2001 From: Sam T Date: Fri, 28 Jun 2013 14:39:57 +0400 Subject: ~ Use older bytestring. --- bencoding.cabal | 2 +- src/Data/BEncode.hs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bencoding.cabal b/bencoding.cabal index e2e4775..0daecde 100644 --- a/bencoding.cabal +++ b/bencoding.cabal @@ -31,7 +31,7 @@ library exposed-modules: Data.BEncode build-depends: base == 4.* , containers >= 0.4 - , bytestring >= 0.10.2.0 + , bytestring >= 0.10.0.0 , attoparsec >= 0.10 , text >= 0.11 , pretty diff --git a/src/Data/BEncode.hs b/src/Data/BEncode.hs index 4b80d4a..2f1125e 100644 --- a/src/Data/BEncode.hs +++ b/src/Data/BEncode.hs @@ -87,9 +87,9 @@ import Data.ByteString (ByteString) import qualified Data.ByteString as B import qualified Data.ByteString.Char8 as BC import qualified Data.ByteString.Lazy as Lazy +import qualified Data.ByteString.Lazy.Builder as B +import qualified Data.ByteString.Lazy.Builder.ASCII as ASCII import Data.ByteString.Internal as B (c2w, w2c) -import qualified Data.ByteString.Builder as B -import qualified Data.ByteString.Builder.Prim as BP (int64Dec, primBounded) import Data.Text (Text) import qualified Data.Text.Encoding as T import Data.Version @@ -387,7 +387,7 @@ builder :: BEncode -> B.Builder builder = go where go (BInteger i) = B.word8 (c2w 'i') <> - BP.primBounded BP.int64Dec i <> -- TODO FIXME + ASCII.int64Dec i <> B.word8 (c2w 'e') go (BString s) = buildString s go (BList l) = B.word8 (c2w 'l') <> @@ -399,7 +399,7 @@ builder = go where mkKV (k, v) = buildString k <> go v - buildString s = B.intDec (B.length s) <> + buildString s = ASCII.intDec (B.length s) <> B.word8 (c2w ':') <> B.byteString s {-# INLINE buildString #-} @@ -421,7 +421,7 @@ parser = valueP 'd' -> do P.anyChar (BDict . M.fromDistinctAscList <$> many ((,) <$> stringP <*> valueP)) - <* P.anyChar + <* P.anyChar t -> fail ("bencode unknown tag: " ++ [t]) listBody = do -- cgit v1.2.3