Do not use getLazyByteString, semantics change in binary-0.7
authorJoachim Breitner <mail@joachim-breitner.de>
Thu, 30 Jan 2014 13:36:25 +0000 (13:36 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Thu, 30 Jan 2014 13:36:25 +0000 (13:36 +0000)
arbtt.cabal
src/Data/MyText.hs

index 8a23318..8499735 100644 (file)
@@ -32,7 +32,7 @@ executable arbtt-capture
         base == 4.5.* || == 4.6.*,
         filepath, directory, transformers, time >= 1.4, utf8-string,
         aeson == 0.6.*, array == 0.4.*,
-        binary == 0.5.*,
+        binary >= 0.5.*,
         bytestring, deepseq, strict, old-locale
     other-modules:
         Data
@@ -72,7 +72,7 @@ executable arbtt-stats
     build-depends:
         base == 4.5.* || == 4.6.*,
         parsec == 3.*, containers == 0.5.*, pcre-light, old-locale,
-        binary == 0.5.*,
+        binary >= 0.5.*,
         deepseq, bytestring, utf8-string, time >= 1.4, strict,
         transformers, unix, directory, filepath,
         aeson == 0.6.*, array == 0.4.*,
@@ -104,7 +104,7 @@ executable arbtt-dump
         base == 4.5.* || == 4.6.*,
         parsec == 3.*, containers == 0.5.*,
         aeson == 0.6.*, array == 0.4.*,
-        binary == 0.5.*,
+        binary >= 0.5.*,
         deepseq, bytestring, utf8-string, time >= 1.4, strict,
         transformers, unix, directory, filepath,
         old-locale
@@ -130,7 +130,7 @@ executable arbtt-import
     build-depends:
         base == 4.5.* || == 4.6.*,
         parsec == 3.*, containers == 0.5.*,
-        binary == 0.5.*,
+        binary >= 0.5.*,
         deepseq, bytestring, utf8-string, time >= 1.4, strict,
         transformers, unix, directory, filepath
     other-modules:
@@ -153,7 +153,7 @@ executable arbtt-recover
     build-depends:
         base == 4.5.* || == 4.6.*,
         parsec == 3.*, containers == 0.5.*,
-        binary == 0.5.*,
+        binary >= 0.5.*,
         deepseq, bytestring, utf8-string, time >= 1.4, strict,
         transformers, unix, directory, filepath
     other-modules:
@@ -186,7 +186,7 @@ test-suite test
       , HUnit == 1.2.*
       , process-extras == 0.2.*
       , deepseq
-      , binary == 0.5.*
+      , binary >= 0.5.*
       , bytestring
       , utf8-string
       , time
index 62bacb1..f4fa8e7 100644 (file)
@@ -31,8 +31,8 @@ instance Binary Text where
     -- The downside is that it quietly suceeds for broken input
     get = do
         n <- get :: Get Int
-        lbs <- lookAhead (getLazyByteString (4*fromIntegral n)) -- safe approximation
-        let bs = BS.concat $ LBS.toChunks $ lbs
+        r <- remaining
+        bs <- lookAhead (getByteString (min (fromIntegral r) (4*n))) -- safe approximation
         let utf8bs = BSU.take n bs
         unless (BSU.length utf8bs == n) $
             fail $ "Coult not parse the expected " ++ show n ++ " utf8 characters."