diff options
author | Daniel Stenberg <daniel@haxx.se> | 2001-05-08 12:10:14 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2001-05-08 12:10:14 +0000 |
commit | 5c25c7bbfa12bda087e9442acbb8b98d95e04e97 (patch) | |
tree | 64c251d5d4afa6c36cd6000a79ffcb9ff176e524 | |
parent | a6d9ccf66bf8d45fe744cf6e42b5db70e14be953 (diff) |
when getting a FTP file with NOBODY, we will no longer return error if
SIZE doesn't work, we just don't output any size info!
-rw-r--r-- | lib/ftp.c | 43 |
1 files changed, 21 insertions, 22 deletions
@@ -848,35 +848,34 @@ CURLcode _ftp(struct connectdata *conn) if(nread < 0) return CURLE_OPERATION_TIMEOUTED; - if(ftpcode != 213) { - failf(data, "Couldn't get file size: %s", buf+4); - return CURLE_FTP_COULDNT_GET_SIZE; - } - /* get the size from the ascii string: */ - filesize = atoi(buf+4); + if(ftpcode == 213) { - sprintf(buf, "Content-Length: %d\r\n", filesize); - result = Curl_client_write(data, CLIENTWRITE_BOTH, buf, 0); - if(result) - return result; + /* get the size from the ascii string: */ + filesize = atoi(buf+4); + + sprintf(buf, "Content-Length: %d\r\n", filesize); + result = Curl_client_write(data, CLIENTWRITE_BOTH, buf, 0); + if(result) + return result; #ifdef HAVE_STRFTIME - if(data->bits.get_filetime && data->progress.filetime) { - struct tm *tm; + if(data->bits.get_filetime && data->progress.filetime) { + struct tm *tm; #ifdef HAVE_LOCALTIME_R - struct tm buffer; - tm = (struct tm *)localtime_r(&data->progress.filetime, &buffer); + struct tm buffer; + tm = (struct tm *)localtime_r(&data->progress.filetime, &buffer); #else - tm = localtime(&data->progress.filetime); + tm = localtime(&data->progress.filetime); #endif - /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */ - strftime(buf, BUFSIZE-1, "Last-Modified: %a, %d %b %Y %H:%M:%S %Z\r\n", - tm); - result = Curl_client_write(data, CLIENTWRITE_BOTH, buf, 0); - if(result) - return result; - } + /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */ + strftime(buf, BUFSIZE-1, "Last-Modified: %a, %d %b %Y %H:%M:%S %Z\r\n", + tm); + result = Curl_client_write(data, CLIENTWRITE_BOTH, buf, 0); + if(result) + return result; + } #endif + } return CURLE_OK; } |