From: Christophe Jaillet
There are a variety of functions and macros for traversing and - manipulating bucket brigades; see the apr_bucket.h + manipulating bucket brigades; see the apr_buckets.h header for complete coverage. Commonly used macros include:
apr_bucket *e = APR_BRIGADE_FIRST(bb); const char *data; -apr_size_t len; +apr_size_t length; while (e != APR_BRIGADE_SENTINEL(bb)) { apr_bucket_read(e, &data, &length, APR_BLOCK_READ); e = APR_BUCKET_NEXT(e); - } return ap_pass_brigade(bb);@@ -277,7 +276,7 @@ return ap_pass_brigade(bb);
apr_bucket *e; const char *data; -apr_size_t len; +apr_size_t length; while ((e = APR_BRIGADE_FIRST(bb)) != APR_BRIGADE_SENTINEL(bb)) { rv = apr_bucket_read(e, &data, &length, APR_BLOCK_READ); diff --git a/docs/manual/developer/output-filters.xml b/docs/manual/developer/output-filters.xml index afa61da162..25658e7d69 100644 --- a/docs/manual/developer/output-filters.xml +++ b/docs/manual/developer/output-filters.xml @@ -147,7 +147,7 @@There are a variety of functions and macros for traversing and manipulating bucket brigades; see the apr_bucket.h + href="http://apr.apache.org/docs/apr-util/trunk/group___a_p_r___util___bucket___brigades.html">apr_buckets.h header for complete coverage. Commonly used macros include: