diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-04-25 14:37:06 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-05-01 22:55:29 +0200 |
commit | 89cf6f38d2f525cbc8537a60061f5f37bb2f35f7 (patch) | |
tree | a2fdfc517d34c0c25dc75742b02b1d2787f8abb4 | |
parent | 8ed81f67c2a3783c04e52b16d39bf998bd998c06 (diff) |
upload: UPLOAD_BUFSIZE is now for the upload buffer
-rw-r--r-- | lib/file.c | 2 | ||||
-rw-r--r-- | lib/smb.c | 2 | ||||
-rw-r--r-- | lib/transfer.c | 2 | ||||
-rw-r--r-- | lib/urldata.h | 6 |
4 files changed, 8 insertions, 4 deletions
diff --git a/lib/file.c b/lib/file.c index 4b1017c6f..dc458db1f 100644 --- a/lib/file.c +++ b/lib/file.c @@ -360,7 +360,7 @@ static CURLcode file_upload(struct connectdata *conn) while(!result) { int readcount; - result = Curl_fillreadbuffer(conn, BUFSIZE, &readcount); + result = Curl_fillreadbuffer(conn, (int)data->set.buffer_size, &readcount); if(result) break; @@ -607,7 +607,7 @@ static CURLcode smb_send_and_recv(struct connectdata *conn, void **msg) /* Check if there is data in the transfer buffer */ if(!smbc->send_size && smbc->upload_size) { - int nread = smbc->upload_size > BUFSIZE ? BUFSIZE : + int nread = smbc->upload_size > UPLOAD_BUFSIZE ? UPLOAD_BUFSIZE : (int) smbc->upload_size; conn->data->req.upload_fromhere = conn->data->state.uploadbuffer; result = Curl_fillreadbuffer(conn, nread, &nread); diff --git a/lib/transfer.c b/lib/transfer.c index d6aac675b..bafb6e9c8 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -904,7 +904,7 @@ static CURLcode readwrite_upload(struct Curl_easy *data, sending_http_headers = FALSE; } - result = Curl_fillreadbuffer(conn, BUFSIZE, &fillcount); + result = Curl_fillreadbuffer(conn, UPLOAD_BUFSIZE, &fillcount); if(result) return result; diff --git a/lib/urldata.h b/lib/urldata.h index 6e87684bf..22b0f8195 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -207,6 +207,10 @@ #define MAX_BUFSIZE CURL_MAX_READ_SIZE #define MIN_BUFSIZE 1024 +/* The upload buffer size, should not be smaller than CURL_MAX_WRITE_SIZE, as + it needs to hold a full buffer as could be sent in a write callback */ +#define UPLOAD_BUFSIZE CURL_MAX_WRITE_SIZE + /* Initial size of the buffer to store headers in, it'll be enlarged in case of need. */ #define HEADERSIZE 256 @@ -1333,7 +1337,7 @@ struct UrlState { size_t headersize; /* size of the allocation */ char *buffer; /* download buffer */ - char uploadbuffer[BUFSIZE+1]; /* upload buffer */ + char uploadbuffer[UPLOAD_BUFSIZE+1]; /* upload buffer */ curl_off_t current_speed; /* the ProgressShow() function sets this, bytes / second */ bool this_is_a_follow; /* this is a followed Location: request */ |