diff options
author | Daniel Stenberg <daniel@haxx.se> | 2003-07-30 07:51:33 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2003-07-30 07:51:33 +0000 |
commit | e3b4dd08ffcffc46965f5927c30e1390f6754da3 (patch) | |
tree | c0340243e91008436b943366a375bc452343ed9b /lib | |
parent | 6809a906bb70d43335a22df499c98a035d27c716 (diff) |
Daniel Noguerol made the ftp code output "Accept-Ranges: bytes" in similar
style like other faked HTTP headers when NOBODY and HEADER are used.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ftp.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -2032,6 +2032,8 @@ CURLcode ftp_perform(struct connectdata *conn, may not support it! It is however the only way we have to get a file's size! */ ssize_t filesize; + ssize_t nread; + int ftpcode; ftp->no_transfer = TRUE; /* this means no actual transfer is made */ @@ -2051,6 +2053,18 @@ CURLcode ftp_perform(struct connectdata *conn, return result; } + /* Determine if server can respond to REST command and therefore + whether it can do a range */ + FTPSENDF(conn, "REST 0", NULL); + result = Curl_GetFTPResponse(&nread, conn, &ftpcode); + + if ((CURLE_OK == result) && (ftpcode == 350)) { + result = Curl_client_write(data, CLIENTWRITE_BOTH, + (char *)"Accept-ranges: bytes\r\n", 0); + if(result) + return result; + } + /* If we asked for a time of the file and we actually got one as well, we "emulate" a HTTP-style header in our output. */ |