Loading lib/file.c +6 −1 Original line number Diff line number Diff line Loading @@ -218,7 +218,12 @@ static CURLcode file_upload(struct connectdata *conn) Curl_pgrsSetUploadSize(data, data->set.infilesize); while (res == CURLE_OK) { nread = Curl_fillreadbuffer(conn, BUFSIZE); int readcount; res = Curl_fillreadbuffer(conn, BUFSIZE, &readcount); if(res) return res; nread = (size_t)readcount; if (nread <= 0) break; Loading lib/transfer.c +14 −3 Original line number Diff line number Diff line Loading @@ -125,8 +125,9 @@ static struct timeval notimeout={0,0}; * This function will call the read callback to fill our buffer with data * to upload. */ int Curl_fillreadbuffer(struct connectdata *conn, int bytes) CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp) { struct SessionHandle *data = conn->data; int buffersize = bytes; int nread; Loading @@ -139,6 +140,11 @@ int Curl_fillreadbuffer(struct connectdata *conn, int bytes) nread = conn->fread(conn->upload_fromhere, 1, buffersize, conn->fread_in); if(nread == CURL_READFUNC_ABORT) { failf(data, "operation aborted by callback\n"); return CURLE_ABORTED_BY_CALLBACK; } if(!conn->bits.forbidchunk && conn->bits.upload_chunky) { /* if chunked Transfer-Encoding */ char hexbuffer[11]; Loading @@ -161,7 +167,10 @@ int Curl_fillreadbuffer(struct connectdata *conn, int bytes) nread+=2; /* for the added CRLF */ } return nread; *nreadp = nread; return CURLE_OK; } /* Loading Loading @@ -1131,7 +1140,9 @@ CURLcode Curl_readwrite(struct connectdata *conn, break; } nread = Curl_fillreadbuffer(conn, BUFSIZE); result = Curl_fillreadbuffer(conn, BUFSIZE, &nread); if(result) return result; } else nread = 0; /* we're done uploading/reading */ Loading lib/transfer.h +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ void Curl_single_fdset(struct connectdata *conn, int *max_fd); CURLcode Curl_readwrite_init(struct connectdata *conn); int Curl_fillreadbuffer(struct connectdata *conn, int bytes); CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp); /* This sets up a forthcoming transfer */ CURLcode Loading Loading
lib/file.c +6 −1 Original line number Diff line number Diff line Loading @@ -218,7 +218,12 @@ static CURLcode file_upload(struct connectdata *conn) Curl_pgrsSetUploadSize(data, data->set.infilesize); while (res == CURLE_OK) { nread = Curl_fillreadbuffer(conn, BUFSIZE); int readcount; res = Curl_fillreadbuffer(conn, BUFSIZE, &readcount); if(res) return res; nread = (size_t)readcount; if (nread <= 0) break; Loading
lib/transfer.c +14 −3 Original line number Diff line number Diff line Loading @@ -125,8 +125,9 @@ static struct timeval notimeout={0,0}; * This function will call the read callback to fill our buffer with data * to upload. */ int Curl_fillreadbuffer(struct connectdata *conn, int bytes) CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp) { struct SessionHandle *data = conn->data; int buffersize = bytes; int nread; Loading @@ -139,6 +140,11 @@ int Curl_fillreadbuffer(struct connectdata *conn, int bytes) nread = conn->fread(conn->upload_fromhere, 1, buffersize, conn->fread_in); if(nread == CURL_READFUNC_ABORT) { failf(data, "operation aborted by callback\n"); return CURLE_ABORTED_BY_CALLBACK; } if(!conn->bits.forbidchunk && conn->bits.upload_chunky) { /* if chunked Transfer-Encoding */ char hexbuffer[11]; Loading @@ -161,7 +167,10 @@ int Curl_fillreadbuffer(struct connectdata *conn, int bytes) nread+=2; /* for the added CRLF */ } return nread; *nreadp = nread; return CURLE_OK; } /* Loading Loading @@ -1131,7 +1140,9 @@ CURLcode Curl_readwrite(struct connectdata *conn, break; } nread = Curl_fillreadbuffer(conn, BUFSIZE); result = Curl_fillreadbuffer(conn, BUFSIZE, &nread); if(result) return result; } else nread = 0; /* we're done uploading/reading */ Loading
lib/transfer.h +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ void Curl_single_fdset(struct connectdata *conn, int *max_fd); CURLcode Curl_readwrite_init(struct connectdata *conn); int Curl_fillreadbuffer(struct connectdata *conn, int bytes); CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp); /* This sets up a forthcoming transfer */ CURLcode Loading