@@ -14,8 +14,7 @@ module Data.FileEmbed
16import Language.Haskell.TH.Syntax
16import Language.Haskell.TH.Syntax
18− , Exp (AppE, ListE, LitE, TupE)
17+ ( Exp (AppE, ListE, LitE, TupE)
19#if MIN_VERSION_template_haskell(2,5,0)
18#if MIN_VERSION_template_haskell(2,5,0)
20 , Lit (StringL, StringPrimL, IntegerL)
19 , Lit (StringL, StringPrimL, IntegerL)
@@ -105,7 +104,10 @@ fileList' realTop top = do
105liftPair2 :: Monad m => (a, m b) -> m (a, b)
104liftPair2 :: Monad m => (a, m b) -> m (a, b)
106liftPair2 (a, b) = b >>= \b' -> return (a, b')
105liftPair2 (a, b) = b >>= \b' -> return (a, b')
108magic = concat ["fe", "MS"]
108magic = concat ["fe", "MS"]
109sizeLen = 20
111sizeLen = 20
111getInner :: B.ByteString -> B.ByteString
113getInner :: B.ByteString -> B.ByteString
@@ -147,7 +149,7 @@ inject toInj orig =
147 size = case reads $ B8.unpack sizeBS of
149 size = case reads $ B8.unpack sizeBS of
148 (i, _):_ -> i
150 (i, _):_ -> i
149 [] -> error $ "Data.FileEmbed (inject): Your dummy space has been corrupted. Size is: " ++ show sizeBS
151 [] -> error $ "Data.FileEmbed (inject): Your dummy space has been corrupted. Size is: " ++ show sizeBS
150− (dummy, after) = B.splitAt size rest'
152+ (_dummy, after) = B.splitAt size rest'
152injectFile :: B.ByteString
154injectFile :: B.ByteString
153 -> FilePath -- ^ template file
155 -> FilePath -- ^ template file
@@ -157,4 +159,4 @@ injectFile inj srcFP dstFP = do
157 src <- B.readFile srcFP
159 src <- B.readFile srcFP
158 case inject inj src of
160 case inject inj src of
159 Nothing -> error "Insufficient dummy space"
161 Nothing -> error "Insufficient dummy space"
160− Just dst -> B.writeFile dstFP dst
162+ Just dst -> B.writeFile dstFP dst