From d77830555fe1c7e54e099f38924f42a65b51b7b0 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Tue, 28 Oct 2014 16:40:43 +0100 Subject: [PATCH] Handle Tar exceptions when grabbing extra files @snoyberg --- Data/Hackage.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Data/Hackage.hs b/Data/Hackage.hs index 9a2a2aa..89c2b1b 100644 --- a/Data/Hackage.hs +++ b/Data/Hackage.hs @@ -258,11 +258,12 @@ grabExtraFiles :: ( MonadActive m -> m (Maybe Html, Maybe Html, Maybe Html) -- ^ README, changelog, license grabExtraFiles name version lfiles = runResourceT $ do msrc <- sourceHackageSdist name version - case msrc of - Nothing -> return mempty - Just src -> do - bss <- lazyConsume $ src $= ungzip - tarSource (Tar.read $ fromChunks bss) $$ foldlC go mempty + handle (\(_ :: Tar.FormatError) -> return (Nothing,Nothing,Nothing)) $ + case msrc of + Nothing -> return mempty + Just src -> do + bss <- lazyConsume $ src $= ungzip + tarSource (Tar.read $ fromChunks bss) $$ foldlC go mempty where go trip@(mreadme, mchangelog, mlicense) entry = case Tar.entryContent entry of