summaryrefslogtreecommitdiff
path: root/Command/AddUrl.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Command/AddUrl.hs')
-rw-r--r--Command/AddUrl.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/Command/AddUrl.hs b/Command/AddUrl.hs
index 2f157c7fd..496b9f2e8 100644
--- a/Command/AddUrl.hs
+++ b/Command/AddUrl.hs
@@ -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