Author: rhuijben Date: Fri Nov 27 11:59:30 2015 New Revision: 1716855 URL: http://svn.apache.org/viewvc?rev=1716855&view=rev Log: Remove more magic iovec constants, by using our new define in serf_private.h. (without actually affecting the code on all known platforms)
* buckets/chunk_buckets.c (includes): Add serf_private.h. (create_chunk): Create a standard number of buckets, but never more than APR_MAX_IOVEC_SIZE. * buckets/ssl_buckets.c (ssl_encrypt): Use standard number of buckets. Modified: serf/trunk/buckets/chunk_buckets.c serf/trunk/buckets/ssl_buckets.c Modified: serf/trunk/buckets/chunk_buckets.c URL: http://svn.apache.org/viewvc/serf/trunk/buckets/chunk_buckets.c?rev=1716855&r1=1716854&r2=1716855&view=diff ============================================================================== --- serf/trunk/buckets/chunk_buckets.c (original) +++ serf/trunk/buckets/chunk_buckets.c Fri Nov 27 11:59:30 2015 @@ -23,6 +23,7 @@ #include "serf.h" #include "serf_bucket_util.h" +#include "serf_private.h" typedef struct chunk_context_t { @@ -65,7 +66,8 @@ static apr_status_t create_chunk(serf_bu serf_bucket_t *simple_bkt; apr_size_t chunk_len; apr_size_t stream_len; - struct iovec vecs[66]; /* 64 + chunk trailer + EOF trailer = 66 */ + /* 64 + chunk trailer + EOF trailer = 66 */ + struct iovec vecs[MIN(APR_MAX_IOVEC_SIZE, SERF__STD_IOV_COUNT + 2)]; int vecs_read; int i; @@ -75,7 +77,7 @@ static apr_status_t create_chunk(serf_bu ctx->last_status = serf_bucket_read_iovec(ctx->stream, SERF_READ_ALL_AVAIL, - 64, vecs, &vecs_read); + COUNT_OF(vecs) - 2, vecs, &vecs_read); if (SERF_BUCKET_READ_ERROR(ctx->last_status)) { /* Uh-oh. */ Modified: serf/trunk/buckets/ssl_buckets.c URL: http://svn.apache.org/viewvc/serf/trunk/buckets/ssl_buckets.c?rev=1716855&r1=1716854&r2=1716855&view=diff ============================================================================== --- serf/trunk/buckets/ssl_buckets.c (original) +++ serf/trunk/buckets/ssl_buckets.c Fri Nov 27 11:59:30 2015 @@ -1097,11 +1097,12 @@ static apr_status_t ssl_encrypt(void *ba apr_size_t interim_len; if (!ctx->want_read) { - struct iovec vecs[64]; + struct iovec vecs[SERF__STD_IOV_COUNT]; int vecs_read; status = serf_bucket_read_iovec(ctx->encrypt.stream, - interim_bufsize, 64, vecs, + interim_bufsize, + COUNT_OF(vecs), vecs, &vecs_read); if (!SERF_BUCKET_READ_ERROR(status) && vecs_read) { @@ -1185,12 +1186,12 @@ static apr_status_t ssl_encrypt(void *ba /* Okay, we exhausted our underlying stream. */ if (!SERF_BUCKET_READ_ERROR(status)) { apr_status_t agg_status; - struct iovec vecs[64]; + struct iovec vecs[SERF__STD_IOV_COUNT]; int vecs_read, i; /* We read something! */ agg_status = serf_bucket_read_iovec(ctx->encrypt_pending, bufsize, - 64, vecs, &vecs_read); + COUNT_OF(vecs), vecs, &vecs_read); *len = 0; for (i = 0; i < vecs_read; i++) { memcpy(buf + *len, vecs[i].iov_base, vecs[i].iov_len);