remove Params constructor from Utility.SafeCommand

This removes a bit of complexity, and should make things faster
(avoids tokenizing Params string), and probably involve less garbage
collection.

In a few places, it was useful to use Params to avoid needing a list,
but that is easily avoided.

Problems noticed while doing this conversion:

	* Some uses of Params "oneword" which was entirely unnecessary
	  overhead.
	* A few places that built up a list of parameters with ++
	  and then used Params to split it!

Test suite passes.
This commit is contained in:
Joey Hess 2015-06-01 13:52:23 -04:00
parent 8f4860df13
commit eb33569f9d
26 changed files with 221 additions and 118 deletions

View file

@ -228,14 +228,14 @@ download' quiet url file uo = do
- a less cluttered download display.
-}
#ifndef __ANDROID__
wgetparams = catMaybes
wgetparams = concat
[ if Build.SysConfig.wgetquietprogress && not quiet
then Just $ Params "-q --show-progress"
else Nothing
, Just $ Params "--clobber -c -O"
then [Param "-q", Param "--show-progress"]
else []
, [ Param "--clobber", Param "-c", Param "-O"]
]
#else
wgetparams = [Params "-c -O"]
wgetparams = [Param "-c", Param "-O"]
#endif
{- Uses the -# progress display, because the normal
- one is very confusing when resuming, showing
@ -247,7 +247,7 @@ download' quiet url file uo = do
-- if the url happens to be empty, so pre-create.
writeFile file ""
go "curl" $ headerparams ++ quietopt "-s" ++
[Params "-f -L -C - -# -o"]
[Param "-f", Param "-L", Param "-C", Param "-", Param "-#", Param "-o"]
{- Run wget in a temp directory because it has been buggy
- and overwritten files in the current directory, even though