better fix for the dl/ul counters
This commit is contained in:
parent
250f9670b7
commit
826bbfc01c
14
lib/tftp.c
14
lib/tftp.c
@ -431,6 +431,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
int sbytes;
|
int sbytes;
|
||||||
int rblock;
|
int rblock;
|
||||||
CURLcode res = CURLE_OK;
|
CURLcode res = CURLE_OK;
|
||||||
|
struct Curl_transfer_keeper *k = &data->reqdata.keep;
|
||||||
|
|
||||||
switch(event) {
|
switch(event) {
|
||||||
|
|
||||||
@ -485,6 +486,9 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
return CURLE_SEND_ERROR;
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
|
/* Update the progress meter */
|
||||||
|
k->writebytecount += state->sbytes;
|
||||||
|
Curl_pgrsSetUploadCounter(data, k->writebytecount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TFTP_EVENT_TIMEOUT:
|
case TFTP_EVENT_TIMEOUT:
|
||||||
@ -508,6 +512,8 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
return CURLE_SEND_ERROR;
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
|
/* since this was a re-send, we remain at the still byte position */
|
||||||
|
Curl_pgrsSetUploadCounter(data, k->writebytecount);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -520,9 +526,6 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update the progress meter */
|
|
||||||
Curl_pgrsSetUploadCounter(data, (curl_off_t) state->block*TFTP_BLOCKSIZE);
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -667,6 +670,7 @@ CURLcode Curl_tftp(struct connectdata *conn, bool *done)
|
|||||||
struct Curl_sockaddr_storage fromaddr;
|
struct Curl_sockaddr_storage fromaddr;
|
||||||
socklen_t fromlen;
|
socklen_t fromlen;
|
||||||
int check_time = 0;
|
int check_time = 0;
|
||||||
|
struct Curl_transfer_keeper *k = &data->reqdata.keep;
|
||||||
|
|
||||||
*done = TRUE;
|
*done = TRUE;
|
||||||
|
|
||||||
@ -739,8 +743,8 @@ CURLcode Curl_tftp(struct connectdata *conn, bool *done)
|
|||||||
state->rbytes-4);
|
state->rbytes-4);
|
||||||
if(code)
|
if(code)
|
||||||
return code;
|
return code;
|
||||||
Curl_pgrsSetDownloadCounter(data,
|
k->bytecount += state->rbytes-4;
|
||||||
(curl_off_t) state->rbytes-4);
|
Curl_pgrsSetDownloadCounter(data, (curl_off_t) k->bytecount);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TFTP_EVENT_ERROR:
|
case TFTP_EVENT_ERROR:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user