From 6dfd683dc742ebb80983137f80a457af38ca7d8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 28 Mar 2017 13:27:56 +0200 Subject: [PATCH] download: Properly parse ftp:// URLs that lack user info. Fixes a regression introduced in a4f542341511f33ece18d16b68118214da8143ec. 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. --- guix/build/download.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index c5dddf83de..e3d5244590 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -241,10 +241,8 @@ and 'guix publish', something like (define* (ftp-fetch uri file #:key timeout) "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." - (let* ((userinfo (string-split (uri-userinfo uri) #\:)) - (conn (match userinfo - (("") - (ftp-open (uri-host uri) #:timeout timeout)) + (let* ((conn (match (and=> (uri-userinfo uri) + (cut string-split <> #\:)) (((? string? user)) (ftp-open (uri-host uri) #:timeout timeout #:username user))