Am Dienstag, den 02.01.2007, 13:29 -0800 schrieb Drew Bertola: > > for ( e = APR_BRIGADE_FIRST(bb) ; > > e != APR_BRIGADE_SENTINEL(bb) ; > > e = APR_BUCKET_NEXT(e) ) {
> - create context if it doesn't already exist. > - loop through buckets (from FIRST to SENTINEL) in brigade passed to > filter appending each bucket to my context's brigade. The moment you append e the value of APR_BUCKET_NEXT(e) changes to your context brigades sentinel. > - pass my brigade to next filter. > > So, shouldn't this work? ... > - do I need to look out for APR_BUCKET_IS_EOS or APR_BUCKET_IS_FLUSH or > are they implicit before APR_BRIGADE_IS_SENTINEL? Yes and no. You can have multiple brigades and only the last one holds _the_ EOS bucket. > - do I need to use ap_pass_brigade()? I've used it here before returning. That depends, but usually you will use it. ap_pass_brigade is misnomed. It passes the buckets held by the parameter brigade to the next filters brigade. Alternatively you probably could append to the next filters brigade. See also http://www.heute-morgen.de/modules/doc/well_behaved_filters.html Sincerely, Joachim