Cliff Woolley wrote:

On Wed, 27 Feb 2002, Brian Pane wrote:

+            if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
+                for (;;) {
+                    apr_bucket *e = APR_BRIGADE_LAST(ctx->ssi_tag_brigade);
+                    if (e == APR_BRIGADE_SENTINEL(ctx->ssi_tag_brigade)) {
+                        break;
+                    }
+                    APR_BUCKET_REMOVE(e);
+                    APR_BRIGADE_INSERT_HEAD(bb, e);
+                }
             }

I was thinking about APR_BRIGADE_CONCAT, but what I really needed
was APR_BRIGADE_PREPEND because _CONCAT would have left bb empty.
Is there a "prepend" variant anywhere?


The following is equivalent to the above (except it runs in constant time):

/* prepend ctx->ssi_tag_brigade onto bb */
APR_BRIGADE_CONCAT(ctx->ssi_tag_brigade, bb);
APR_BRIGADE_CONCAT(bb, ctx->ssi_tag_brigade);


Thanks, I'll update this in mod_include later today.

But I'd be fine with adding a prepend macro in the API if others agree
it's useful.


+1

--Brian





Reply via email to