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 afa61da162f..25658e7d699 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: