diff options
| -rw-r--r-- | lib/sendf.c | 2 | ||||
| -rw-r--r-- | lib/url.c | 24 | ||||
| -rw-r--r-- | lib/urldata.h | 10 | 
3 files changed, 18 insertions, 18 deletions
diff --git a/lib/sendf.c b/lib/sendf.c index 0c44224bb..595c36177 100644 --- a/lib/sendf.c +++ b/lib/sendf.c @@ -722,7 +722,7 @@ CURLcode Curl_read(struct connectdata *conn, /* connection data */      }      /* If we come here, it means that there is no data to read from the buffer,       * so we read from the socket */ -    bytesfromsocket = CURLMIN(sizerequested, (size_t)data->set.buffer_size); +    bytesfromsocket = CURLMIN(sizerequested, MASTERBUF_SIZE);      buffertofill = conn->master_buffer;    }    else { @@ -140,6 +140,10 @@ static CURLcode parse_login_details(const char *login, const size_t len,                                      char **optionsptr);  static unsigned int get_protocol_family(unsigned int protocol); +#define READBUFFER_SIZE CURL_MAX_WRITE_SIZE +#define READBUFFER_MAX  CURL_MAX_READ_SIZE +#define READBUFFER_MIN  1024 +  /*   * Protocol table.   */ @@ -607,7 +611,7 @@ CURLcode Curl_init_userdefined(struct UserDefined *set)    set->expect_100_timeout = 1000L; /* Wait for a second by default. */    set->sep_headers = TRUE; /* separated header lists by default */ -  set->buffer_size = BUFSIZE; +  set->buffer_size = READBUFFER_SIZE;    Curl_http2_init_userset(set);    return result; @@ -645,7 +649,7 @@ CURLcode Curl_open(struct Curl_easy **curl)    /* We do some initial setup here, all those fields that can't be just 0 */ -  data->state.buffer = malloc(BUFSIZE + 1); +  data->state.buffer = malloc(READBUFFER_SIZE + 1);    if(!data->state.buffer) {      DEBUGF(fprintf(stderr, "Error: malloc of buffer failed\n"));      result = CURLE_OUT_OF_MEMORY; @@ -2287,16 +2291,16 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,       */      arg = va_arg(param, long); -    if(arg > MAX_BUFSIZE) -      arg = MAX_BUFSIZE; /* huge internal default */ +    if(arg > READBUFFER_MAX) +      arg = READBUFFER_MAX;      else if(arg < 1) -      arg = BUFSIZE; -    else if(arg < MIN_BUFSIZE) -      arg = BUFSIZE; +      arg = READBUFFER_SIZE; +    else if(arg < READBUFFER_MIN) +      arg = READBUFFER_MIN;      /* Resize only if larger than default buffer size. */ -    if(arg > BUFSIZE) { -      char *newbuff = realloc(data->state.buffer, data->set.buffer_size + 1); +    if(arg > READBUFFER_SIZE) { +      char *newbuff = realloc(data->state.buffer, arg + 1);        if(!newbuff) {          DEBUGF(fprintf(stderr, "Error: realloc of buffer failed\n"));          result = CURLE_OUT_OF_MEMORY; @@ -4208,7 +4212,7 @@ static struct connectdata *allocate_conn(struct Curl_easy *data)    if(Curl_pipeline_wanted(data->multi, CURLPIPE_HTTP1) &&       !conn->master_buffer) {      /* Allocate master_buffer to be used for HTTP/1 pipelining */ -    conn->master_buffer = calloc(BUFSIZE, sizeof(char)); +    conn->master_buffer = calloc(MASTERBUF_SIZE, sizeof(char));      if(!conn->master_buffer)        goto error;    } diff --git a/lib/urldata.h b/lib/urldata.h index 22b0f8195..56430122f 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -200,17 +200,13 @@  #include <libssh2_sftp.h>  #endif /* HAVE_LIBSSH2_H */ -/* Download buffer size, keep it fairly big for speed reasons */ -#undef BUFSIZE -#define BUFSIZE CURL_MAX_WRITE_SIZE -#undef MAX_BUFSIZE -#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 +/* The "master buffer" is for HTTP pipelining */ +#define MASTERBUF_SIZE 16384 +  /* Initial size of the buffer to store headers in, it'll be enlarged in case     of need. */  #define HEADERSIZE 256  | 
