1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

readwrite_upload: stop upload at file size

As we know how much to send, we can and should stop once we've sent that
much data as it avoids having to rely on other mechanisms to detect the
end.

This is one of the problems detected by test 582.

Reported by: Henry Ludemann <misc@hl.id.au>
This commit is contained in:
Daniel Stenberg 2011-03-12 23:05:11 +01:00
parent cccba72920
commit a07a865d5d

View File

@ -946,6 +946,14 @@ static CURLcode readwrite_upload(struct SessionHandle *data,
Curl_debug(data, CURLINFO_DATA_OUT, data->req.upload_fromhere,
(size_t)bytes_written, conn);
k->writebytecount += bytes_written;
if(k->writebytecount == data->set.infilesize) {
/* we have sent all data we were supposed to */
k->upload_done = TRUE;
infof(data, "We are completely uploaded and fine\n");
}
if(data->req.upload_present != bytes_written) {
/* we only wrote a part of the buffer (if anything), deal with it! */
@ -967,7 +975,6 @@ static CURLcode readwrite_upload(struct SessionHandle *data,
}
}
k->writebytecount += bytes_written;
Curl_pgrsSetUploadCounter(data, k->writebytecount);
} while(0); /* just to break out from! */