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);


Reply via email to