addurl: Normalize badly encoded urls.

This commit is contained in:
Joey Hess 2012-02-09 14:19:58 -04:00
parent ac97454659
commit 1c0bd81ba6
2 changed files with 5 additions and 3 deletions

View file

@ -31,10 +31,11 @@ seek = [withField fileOption return $ \f ->
withStrings $ start f]
start :: Maybe FilePath -> String -> CommandStart
start optfile s = notBareRepo $ go $ parseURI s
start optfile s = notBareRepo $ go $ fromMaybe bad $ parseURI s
where
go Nothing = error $ "bad url " ++ s
go (Just url) = do
bad = fromMaybe (error $ "bad url " ++ s) $
parseURI $ escapeURIString isUnescapedInURI s
go url = do
let file = fromMaybe (url2file url) optfile
showStart "addurl" file
next $ perform s file