summaryrefslogtreecommitdiffstats
path: root/mod_intercept_form_submit.c
diff options
context:
space:
mode:
Diffstat (limited to 'mod_intercept_form_submit.c')
-rw-r--r--mod_intercept_form_submit.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/mod_intercept_form_submit.c b/mod_intercept_form_submit.c
index 542cc35..35d397b 100644
--- a/mod_intercept_form_submit.c
+++ b/mod_intercept_form_submit.c
@@ -244,19 +244,16 @@ void intercept_form_submit_filter_prefetch(request_rec * r, ifs_config * config,
char * fragment = NULL;
int fragment_length = 0;
- apr_bucket_brigade * bb = NULL;
+ apr_bucket_brigade * bb = apr_brigade_create(f->c->pool, f->c->bucket_alloc);
int fetch_more = 1;
while (fetch_more) {
- if (bb)
- APR_BRIGADE_CONCAT(ctx->cached_brigade, bb);
- else
- bb = apr_brigade_create(f->c->pool, f->c->bucket_alloc);
ctx->cached_ret = ap_get_brigade(f->next, bb, AP_MODE_READBYTES, APR_BLOCK_READ, HUGE_STRING_LEN);
if (ctx->cached_ret != APR_SUCCESS)
break;
- apr_bucket * b;
- for (b = APR_BRIGADE_FIRST(bb); b != APR_BRIGADE_SENTINEL(bb); b = APR_BUCKET_NEXT(b)) {
+ apr_bucket * b = APR_BRIGADE_FIRST(bb);;
+ APR_BRIGADE_CONCAT(ctx->cached_brigade, bb);
+ for (; b != APR_BRIGADE_SENTINEL(ctx->cached_brigade); b = APR_BUCKET_NEXT(b)) {
if (! fetch_more)
break;
if (APR_BUCKET_IS_EOS(b)) {
@@ -320,11 +317,6 @@ void intercept_form_submit_filter_prefetch(request_rec * r, ifs_config * config,
}
if (fragment)
free(fragment);
-
- if (bb) {
- APR_BRIGADE_CONCAT(ctx->cached_brigade, bb);
- apr_brigade_cleanup(bb);
- }
}
#define _INTERCEPT_CONTENT_TYPE "application/x-www-form-urlencoded"