+2001-12-01 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * ftp.c (getftp): When PWD fails, assume "/".
+
+ * ftp-basic.c (ftp_syst): Fix indentation.
+
2001-12-01 Hrvoje Niksic <hniksic@arsdigita.com>
* url.c (get_urls_file): If opt.base_href is specified, merge each
return WRITEFAILED;
}
xfree (request);
+
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
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. */
abort ();
break;
}
- if (!opt.server_response)
+ if (!opt.server_response && err != FTPSRVERR)
logputs (LOG_VERBOSE, _("done. "));
/* Fourth: Find the initial ftp directory */
switch (err)
{
case FTPRERR:
- case FTPSRVERR :
logputs (LOG_VERBOSE, "\n");
logputs (LOG_NOTQUIET, _("\
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;