]> git.rkrishnan.org Git - functorrent.git/blobdiff - src/FuncTorrent/Metainfo.hs
Metainfo: Info may or may not be present
[functorrent.git] / src / FuncTorrent / Metainfo.hs
index e51984baf04642b57ddf19ec99e2ada32cf910cf..e555074ac110076f675462ae133434ed183a39f4 100644 (file)
  - along with FuncTorrent; if not,  see <http://www.gnu.org/licenses/>
  -}
 
+{-# LANGUAGE OverloadedStrings #-}
 module FuncTorrent.Metainfo
     (Info(..),
      Metainfo(..),
-     mkInfo,
      torrentToMetainfo
     ) where
 
@@ -41,7 +41,7 @@ data Info = Info { pieceLength :: !Integer
                  , md5sum :: !(Maybe String)
                  } deriving (Eq, Show)
 
-data Metainfo = Metainfo { info :: !Info
+data Metainfo = Metainfo { info :: !(Maybe Info)
                          , announceList :: ![String]
                          , creationDate :: !(Maybe Integer)
                          , comment :: !(Maybe String)
@@ -67,7 +67,7 @@ mkInfo _ = Nothing
 
 mkMetaInfo :: BVal   -> Either String Metainfo
 mkMetaInfo (Bdict m)  =
-    let (Just info')  = mkInfo $ m ! "info"
+    let info'         = mkInfo $ m ! "info"
         announce'     = lookup "announce" m
         announceList' = lookup "announce-list" m
         creationDate' = lookup "creation date" m