download: Properly parse ftp:// URLs that lack user info.

Fixes a regression introduced in
a4f5423415.

Reported by Hartmut Goebel.

* guix/build/download.scm (ftp-fetch): Account for the case where
'uri-userinfo' returns #f.  Remove the case where it returns "" since
that cannot happen.
master
Ludovic Courtès 2017-03-28 13:27:56 +02:00
parent 9909b8b952
commit 6dfd683dc7
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 2 additions and 4 deletions

View File

@ -241,10 +241,8 @@ and 'guix publish', something like
(define* (ftp-fetch uri file #:key timeout) (define* (ftp-fetch uri file #:key timeout)
"Fetch data from URI and write it to FILE. Return FILE on success. Bail "Fetch data from URI and write it to FILE. Return FILE on success. Bail
out if the connection could not be established in less than TIMEOUT seconds." out if the connection could not be established in less than TIMEOUT seconds."
(let* ((userinfo (string-split (uri-userinfo uri) #\:)) (let* ((conn (match (and=> (uri-userinfo uri)
(conn (match userinfo (cut string-split <> #\:))
(("")
(ftp-open (uri-host uri) #:timeout timeout))
(((? string? user)) (((? string? user))
(ftp-open (uri-host uri) #:timeout timeout (ftp-open (uri-host uri) #:timeout timeout
#:username user)) #:username user))