From acf2d79a8ac5cfd9dd5aadf79bc22623d0b211c4 Mon Sep 17 00:00:00 2001 From: hniksic Date: Sat, 1 Dec 2001 13:37:40 -0800 Subject: [PATCH] [svn] When PWD fails, assume "/". Published in . --- src/ChangeLog | 6 ++++++ src/ftp-basic.c | 18 ++++++++---------- src/ftp.c | 8 ++++++-- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2c513dcf..b4377d41 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2001-12-01 Hrvoje Niksic + + * ftp.c (getftp): When PWD fails, assume "/". + + * ftp-basic.c (ftp_syst): Fix indentation. + 2001-12-01 Hrvoje Niksic * url.c (get_urls_file): If opt.base_href is specified, merge each diff --git a/src/ftp-basic.c b/src/ftp-basic.c index 7d36bf26..bd8c25bf 100644 --- a/src/ftp-basic.c +++ b/src/ftp-basic.c @@ -550,6 +550,7 @@ ftp_syst (struct rbuf *rbuf, enum stype *server_type) return WRITEFAILED; } xfree (request); + /* Get appropriate response. */ err = ftp_response (rbuf, &respline); if (err != FTPOK) @@ -572,17 +573,14 @@ ftp_syst (struct rbuf *rbuf, enum stype *server_type) if (!strcasecmp (request, "VMS")) *server_type = ST_VMS; + else if (!strcasecmp (request, "UNIX")) + *server_type = ST_UNIX; + else if (!strcasecmp (request, "WINDOWS_NT")) + *server_type = ST_WINNT; + else if (!strcasecmp (request, "MACOS")) + *server_type = ST_MACOS; else - if (!strcasecmp (request, "UNIX")) - *server_type = ST_UNIX; - else - if (!strcasecmp (request, "WINDOWS_NT")) - *server_type = ST_WINNT; - else - if (!strcasecmp (request, "MACOS")) - *server_type = ST_MACOS; - else - *server_type = ST_OTHER; + *server_type = ST_OTHER; xfree (respline); /* All OK. */ diff --git a/src/ftp.c b/src/ftp.c index c1c46ec9..00b0b638 100644 --- a/src/ftp.c +++ b/src/ftp.c @@ -264,7 +264,7 @@ Error in server response, closing control connection.\n")); abort (); break; } - if (!opt.server_response) + if (!opt.server_response && err != FTPSRVERR) logputs (LOG_VERBOSE, _("done. ")); /* Fourth: Find the initial ftp directory */ @@ -276,7 +276,6 @@ Error in server response, closing control connection.\n")); switch (err) { case FTPRERR: - case FTPSRVERR : logputs (LOG_VERBOSE, "\n"); logputs (LOG_NOTQUIET, _("\ Error in server response, closing control connection.\n")); @@ -284,6 +283,11 @@ Error in server response, closing control connection.\n")); rbuf_uninitialize (&con->rbuf); return err; break; + case FTPSRVERR : + /* PWD unsupported -- assume "/". */ + FREE_MAYBE (con->id); + con->id = xstrdup ("/"); + break; case FTPOK: /* Everything is OK. */ break; -- 2.39.2