Curl_pgrsDone: return int and acknowledge return code
Since Curl_pgrsDone() itself calls Curl_pgrsUpdate() which may return an abort instruction or similar we need to return that info back and subsequently properly handle return codes from Curl_pgrsDone() where used. (Spotted by a Coverity scan)
This commit is contained in:
@@ -131,11 +131,14 @@ static char *max5data(curl_off_t bytes, char *max5)
|
||||
|
||||
*/
|
||||
|
||||
void Curl_pgrsDone(struct connectdata *conn)
|
||||
int Curl_pgrsDone(struct connectdata *conn)
|
||||
{
|
||||
int rc;
|
||||
struct SessionHandle *data = conn->data;
|
||||
data->progress.lastshow=0;
|
||||
Curl_pgrsUpdate(conn); /* the final (forced) update */
|
||||
rc = Curl_pgrsUpdate(conn); /* the final (forced) update */
|
||||
if(rc)
|
||||
return rc;
|
||||
|
||||
if(!(data->progress.flags & PGRS_HIDE) &&
|
||||
!data->progress.callback)
|
||||
@@ -144,6 +147,7 @@ void Curl_pgrsDone(struct connectdata *conn)
|
||||
fprintf(data->set.err, "\n");
|
||||
|
||||
data->progress.speeder_c = 0; /* reset the progress meter display */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* reset all times except redirect, and reset the known transfer sizes */
|
||||
@@ -241,6 +245,10 @@ void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size)
|
||||
data->progress.flags &= ~PGRS_UL_SIZE_KNOWN;
|
||||
}
|
||||
|
||||
/*
|
||||
* Curl_pgrsUpdate() returns 0 for success or the value returned by the
|
||||
* progress callback!
|
||||
*/
|
||||
int Curl_pgrsUpdate(struct connectdata *conn)
|
||||
{
|
||||
struct timeval now;
|
||||
|
Reference in New Issue
Block a user