From: Daniel Stenberg Date: Wed, 22 Oct 2025 20:54:28 +0000 (+0200) Subject: ftp: remove the retr_size_saved struct field X-Git-Tag: rc-8_17_0-3~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d51d19bd06529207aedc87ecde154ef57427f655;p=thirdparty%2Fcurl.git ftp: remove the retr_size_saved struct field It was basically a duplicate of data->req.size already Closes #19194 --- diff --git a/lib/ftp.c b/lib/ftp.c index 8025d80f21..5b96f63ad6 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -548,7 +548,7 @@ static CURLcode ftp_initiate_transfer(struct Curl_easy *data, } else { /* FTP download, shutdown, do not ignore errors */ - Curl_xfer_setup_recv(data, SECONDARYSOCKET, ftpc->retr_size_saved); + Curl_xfer_setup_recv(data, SECONDARYSOCKET, data->req.size); Curl_xfer_set_shutdown(data, TRUE, FALSE); } @@ -2486,7 +2486,7 @@ static CURLcode ftp_state_get_resp(struct Curl_easy *data, E: 125 Data connection already open; Transfer starting. */ - curl_off_t size = -1; /* default unknown size */ + data->req.size = -1; /* default unknown size */ /* @@ -2519,27 +2519,25 @@ static CURLcode ftp_state_get_resp(struct Curl_easy *data, if(!curlx_str_number(&c, &what, CURL_OFF_T_MAX) && !curlx_str_single(&c, ' ') && !strncmp(c, "bytes", 5)) { - size = what; + data->req.size = what; break; } } } } else if(ftp->downloadsize > -1) - size = ftp->downloadsize; + data->req.size = ftp->downloadsize; - if(size > data->req.maxdownload && data->req.maxdownload > 0) - size = data->req.size = data->req.maxdownload; + if(data->req.size > data->req.maxdownload && data->req.maxdownload > 0) + data->req.size = data->req.maxdownload; else if((instate != FTP_LIST) && (data->state.prefer_ascii)) - size = -1; /* kludge for servers that understate ASCII mode file size */ + data->req.size = -1; /* for servers that understate ASCII mode file + size */ infof(data, "Maxdownload = %" FMT_OFF_T, data->req.maxdownload); if(instate != FTP_LIST) - infof(data, "Getting file with size: %" FMT_OFF_T, size); - - /* FTP download: */ - ftpc->retr_size_saved = size; + infof(data, "Getting file with size: %" FMT_OFF_T, data->req.size); if(data->set.ftp_use_port) { bool connected; diff --git a/lib/ftp.h b/lib/ftp.h index e09aadabc3..8d5f9c2031 100644 --- a/lib/ftp.h +++ b/lib/ftp.h @@ -136,7 +136,6 @@ struct ftp_conn { char *prevpath; /* url-decoded conn->path from the previous transfer */ char transfertype; /* set by ftp_transfertype for use by Curl_client_write()a and others (A/I or zero) */ - curl_off_t retr_size_saved; /* Size of retrieved file saved */ char *server_os; /* The target server operating system. */ curl_off_t known_filesize; /* file size is different from -1, if wildcard LIST parsing was done and wc_statemach set