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 showOutput -- make way for bup output
let cmd = proc "bup" (toCommand params) let cmd = proc "bup" (toCommand params)
quiet <- commandProgressDisabled quiet <- commandProgressDisabled
if quiet let feeder = \h -> do
then liftIO $ feedWithQuietOutput createProcessSuccess cmd $ \h -> do meteredWrite p h b
meteredWrite p h b return True
return True liftIO $ if quiet
else liftIO $ withHandle StdinHandle createProcessSuccess cmd $ \h -> do then feedWithQuietOutput createProcessSuccess cmd feeder
meteredWrite p h b else withHandle StdinHandle createProcessSuccess cmd feeder
return True
retrieve :: BupRepo -> Retriever retrieve :: BupRepo -> Retriever
retrieve buprepo = byteRetriever $ \k sink -> do retrieve buprepo = byteRetriever $ \k sink -> do