Commit e3b4dd08 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Daniel Noguerol made the ftp code output "Accept-Ranges: bytes" in similar

style like other faked HTTP headers when NOBODY and HEADER are used.
parent 6809a906
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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. */