improved refactoring

ghc 8.0.1 didn't like runner because it used Rank2Types or something.
Instead, factor out the feeder action.
This commit is contained in:
Joey Hess 2016-05-23 18:47:30 -04:00
parent 12cee25b41
commit 20bfbb28ac
Failed to extract signature

View file

@ -133,13 +133,12 @@ store r buprepo = byteStorer $ \k b p -> do
showOutput -- make way for bup output
let cmd = proc "bup" (toCommand params)
quiet <- commandProgressDisabled
if quiet
then liftIO $ feedWithQuietOutput createProcessSuccess cmd $ \h -> do
meteredWrite p h b
return True
else liftIO $ withHandle StdinHandle createProcessSuccess cmd $ \h -> do
meteredWrite p h b
return True
let feeder = \h -> do
meteredWrite p h b
return True
liftIO $ if quiet
then feedWithQuietOutput createProcessSuccess cmd feeder
else withHandle StdinHandle createProcessSuccess cmd feeder
retrieve :: BupRepo -> Retriever
retrieve buprepo = byteRetriever $ \k sink -> do