]> sjero.net Git - wget/commitdiff
[svn] When PWD fails, assume "/".
authorhniksic <devnull@localhost>
Sat, 1 Dec 2001 21:37:40 +0000 (13:37 -0800)
committerhniksic <devnull@localhost>
Sat, 1 Dec 2001 21:37:40 +0000 (13:37 -0800)
Published in <sxs667qr5a0.fsf@florida.arsdigita.de>.

src/ChangeLog
src/ftp-basic.c
src/ftp.c

index 2c513dcf3eebee2c4b68c46400e35e5cf181b628..b4377d41edee948b039524e82d7a2ad5ee958dcd 100644 (file)
@@ -1,3 +1,9 @@
+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
index 7d36bf267c6f4f3f1ae2a12972dd5a861a10bc4b..bd8c25bf77d62a2b1325333636167b6dde6794e2 100644 (file)
@@ -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.  */
index c1c46ec9f773459dea16db5404e92b926a56efa7..00b0b638581d179af406e199964de4a259c7e685 100644 (file)
--- 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;