X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fftp-basic.c;h=8d3342c0c73acee808bbd48215871d5978d470dd;hp=5f250959fcb62b521c45494e0a165f6632490d88;hb=d763f8bf6d6e13ce006ffab616cc8a77e747a633;hpb=090f1596ae2eb446c265a62849f59657a9ee9e07 diff --git a/src/ftp-basic.c b/src/ftp-basic.c index 5f250959..8d3342c0 100644 --- a/src/ftp-basic.c +++ b/src/ftp-basic.c @@ -958,7 +958,7 @@ ftp_retr (int csock, const char *file) /* Sends the LIST command to the server. If FILE is NULL, send just `LIST' (no space). */ uerr_t -ftp_list (int csock, const char *file) +ftp_list (int csock, const char *file, enum stype rs) { char *request, *respline; int nwritten; @@ -969,6 +969,13 @@ ftp_list (int csock, const char *file) const char *list_commands[] = { "LIST -a", "LIST" }; + /* 2008-01-29 SMS. For a VMS FTP server, where "LIST -a" may not + fail, but will never do what is desired here, skip directly to the + simple "LIST" command (assumed to be the last one in the list). + */ + if (rs == ST_VMS) + i = countof (list_commands)- 1; + do { /* Send request. */ request = ftp_request (list_commands[i], file);