summaryrefslogtreecommitdiff
path: root/src/Data/BEncode.hs
diff options
context:
space:
mode:
authorSam T <pxqr.sta@gmail.com>2013-05-19 17:35:44 +0400
committerSam T <pxqr.sta@gmail.com>2013-05-19 17:35:44 +0400
commitf5606c5f2ff7009ab457c8404e91d74baa9a406b (patch)
treea1235a7fc7f903ea18404dbbc61124d4431fbe4a /src/Data/BEncode.hs
parentc2e98a5a1c920fb1af023228a873249e9f2f2ef5 (diff)
~ Fix integer encoding.
Diffstat (limited to 'src/Data/BEncode.hs')
-rw-r--r--src/Data/BEncode.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Data/BEncode.hs b/src/Data/BEncode.hs
index dd94f8c..5acab09 100644
--- a/src/Data/BEncode.hs
+++ b/src/Data/BEncode.hs
@@ -88,7 +88,7 @@ import qualified Data.ByteString.Char8 as BC
88import qualified Data.ByteString.Lazy as Lazy 88import qualified Data.ByteString.Lazy as Lazy
89import Data.ByteString.Internal as B (c2w, w2c) 89import Data.ByteString.Internal as B (c2w, w2c)
90import qualified Data.ByteString.Builder as B 90import qualified Data.ByteString.Builder as B
91import qualified Data.ByteString.Builder.Prim as BP () 91import qualified Data.ByteString.Builder.Prim as BP (int64Dec, primBounded)
92import Data.Text (Text) 92import Data.Text (Text)
93import qualified Data.Text.Encoding as T 93import qualified Data.Text.Encoding as T
94import Data.Version 94import Data.Version
@@ -368,7 +368,7 @@ builder :: BEncode -> B.Builder
368builder = go 368builder = go
369 where 369 where
370 go (BInteger i) = B.word8 (c2w 'i') <> 370 go (BInteger i) = B.word8 (c2w 'i') <>
371 B.intDec (fromIntegral i) <> -- TODO FIXME 371 BP.primBounded BP.int64Dec i <> -- TODO FIXME
372 B.word8 (c2w 'e') 372 B.word8 (c2w 'e')
373 go (BString s) = buildString s 373 go (BString s) = buildString s
374 go (BList l) = B.word8 (c2w 'l') <> 374 go (BList l) = B.word8 (c2w 'l') <>
@@ -403,7 +403,7 @@ parser = valueP
403 P.anyChar 403 P.anyChar
404 (BDict . M.fromDistinctAscList <$> many ((,) <$> stringP <*> valueP)) 404 (BDict . M.fromDistinctAscList <$> many ((,) <$> stringP <*> valueP))
405 <* P.anyChar 405 <* P.anyChar
406 _ -> fail "Unable to parse bencode: unknown tag" 406 t -> fail ("bencode unknown tag: " ++ [t])
407 407
408 stringP :: Parser ByteString 408 stringP :: Parser ByteString
409 stringP = do 409 stringP = do