From 93fe62dd770c082a8d0092ca34640deb5122fcaa Mon Sep 17 00:00:00 2001 From: Cliff Woolley Date: Sun, 25 Feb 2001 23:08:52 +0000 Subject: [PATCH] Simplify by using apr_bucket_delete(e) where possible. (Oh, plus one tiny little loop simplification.) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88337 13f79535-47bb-0310-9956-ffa450edef68 --- modules/experimental/mod_charset_lite.c | 9 +++----- modules/filters/mod_include.c | 24 +++++++------------- modules/http/http_core.c | 3 +-- modules/http/http_protocol.c | 29 ++++++++----------------- modules/http/http_request.c | 3 +-- 5 files changed, 22 insertions(+), 46 deletions(-) diff --git a/modules/experimental/mod_charset_lite.c b/modules/experimental/mod_charset_lite.c index 6a5b713eb3..096fba3f1a 100644 --- a/modules/experimental/mod_charset_lite.c +++ b/modules/experimental/mod_charset_lite.c @@ -743,8 +743,7 @@ static apr_status_t xlate_brigade(charset_filter_ctx_t *ctx, while (1) { if (!bucket_avail) { /* no bytes left to process in the current bucket... */ if (consumed_bucket) { - APR_BUCKET_REMOVE(consumed_bucket); - apr_bucket_destroy(consumed_bucket); + apr_bucket_delete(consumed_bucket); consumed_bucket = NULL; } b = APR_BRIGADE_FIRST(bb); @@ -802,8 +801,7 @@ static apr_status_t xlate_brigade(charset_filter_ctx_t *ctx, if (bucket_avail) { apr_bucket_split(b, bytes_in_bucket - bucket_avail); } - APR_BUCKET_REMOVE(b); - apr_bucket_destroy(b); + apr_bucket_delete(b); break; } } @@ -894,8 +892,7 @@ static apr_status_t xlate_out_filter(ap_filter_t *f, apr_bucket_brigade *bb) while (!done) { if (!cur_len) { /* no bytes left to process in the current bucket... */ if (consumed_bucket) { - APR_BUCKET_REMOVE(consumed_bucket); - apr_bucket_destroy(consumed_bucket); + apr_bucket_delete(consumed_bucket); consumed_bucket = NULL; } if (dptr == APR_BRIGADE_SENTINEL(bb)) { diff --git a/modules/filters/mod_include.c b/modules/filters/mod_include.c index e1c51ec9be..b369c3f2fa 100644 --- a/modules/filters/mod_include.c +++ b/modules/filters/mod_include.c @@ -2355,8 +2355,7 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r, while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); - APR_BUCKET_REMOVE(tmp_bkt); - apr_bucket_destroy(tmp_bkt); + apr_bucket_delete(tmp_bkt); } } @@ -2370,8 +2369,7 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r, apr_bucket *free_bucket = dptr; dptr = APR_BUCKET_NEXT (dptr); - APR_BUCKET_REMOVE(free_bucket); - apr_bucket_destroy(free_bucket); + apr_bucket_delete(free_bucket); } } @@ -2445,16 +2443,14 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r, if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); - APR_BUCKET_REMOVE(tmp_bkt); - apr_bucket_destroy(tmp_bkt); + apr_bucket_delete(tmp_bkt); } } else { do { tmp_bkt = tmp_dptr; tmp_dptr = APR_BUCKET_NEXT (tmp_dptr); - APR_BUCKET_REMOVE(tmp_bkt); - apr_bucket_destroy(tmp_bkt); + apr_bucket_delete(tmp_bkt); } while ((tmp_dptr != dptr) && (tmp_dptr != APR_BRIGADE_SENTINEL(*bb))); } @@ -2525,16 +2521,14 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r, if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); - APR_BUCKET_REMOVE(tmp_bkt); - apr_bucket_destroy(tmp_bkt); + apr_bucket_delete(tmp_bkt); } } else { do { tmp_bkt = tmp_dptr; tmp_dptr = APR_BUCKET_NEXT (tmp_dptr); - APR_BUCKET_REMOVE(tmp_bkt); - apr_bucket_destroy(tmp_bkt); + apr_bucket_delete(tmp_bkt); } while ((tmp_dptr != content_head) && (tmp_dptr != APR_BRIGADE_SENTINEL(*bb))); } @@ -2558,8 +2552,7 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r, if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); - APR_BUCKET_REMOVE(tmp_bkt); - apr_bucket_destroy(tmp_bkt); + apr_bucket_delete(tmp_bkt); } } @@ -2581,8 +2574,7 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r, do { free_bucket = dptr; dptr = APR_BUCKET_NEXT (dptr); - APR_BUCKET_REMOVE(free_bucket); - apr_bucket_destroy(free_bucket); + apr_bucket_delete(free_bucket); } while (dptr != APR_BRIGADE_SENTINEL(*bb)); } else { /* Otherwise pass it along... */ diff --git a/modules/http/http_core.c b/modules/http/http_core.c index 50c7e5e2e2..ee1234a10f 100644 --- a/modules/http/http_core.c +++ b/modules/http/http_core.c @@ -3289,8 +3289,7 @@ static apr_status_t core_output_filter(ap_filter_t *f, apr_bucket_brigade *b) * we want to process to second request fully. */ if (APR_BUCKET_IS_EOS(e)) { - APR_BUCKET_REMOVE(e); - apr_bucket_destroy(e); + apr_bucket_delete(e); } ap_save_brigade(f, &ctx->b, &b); return APR_SUCCESS; diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index cb0290f007..fa7b86ce08 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -890,8 +890,7 @@ apr_status_t ap_dechunk_filter(ap_filter_t *f, apr_bucket_brigade *bb, } if (ctx->bytes_delivered == ctx->chunk_size) { AP_DEBUG_ASSERT(APR_BUCKET_IS_EOS(b)); - APR_BUCKET_REMOVE(b); - apr_bucket_destroy(b); + apr_bucket_delete(b); ctx->state = WANT_TRL; } } @@ -954,8 +953,7 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode c += 2; else return APR_SUCCESS; } - APR_BUCKET_REMOVE(e); - apr_bucket_destroy(e); + apr_bucket_delete(e); } } } @@ -967,11 +965,10 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode } if (f->c->remain) { - e = APR_BRIGADE_FIRST(ctx->b); - while (e != APR_BRIGADE_SENTINEL(ctx->b)) { - apr_bucket *old; + while (!APR_BRIGADE_EMPTY(ctx->b)) { const char *ignore; + e = APR_BRIGADE_FIRST(ctx->b); if ((rv = apr_bucket_read(e, &ignore, &len, mode)) != APR_SUCCESS) { /* probably APR_IS_EAGAIN(rv); socket state isn't correct; * remove log once we get this squared away */ @@ -992,11 +989,7 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode APR_BRIGADE_INSERT_TAIL(b, e); break; /* once we've gotten some data, deliver it to caller */ } - - old = e; - e = APR_BUCKET_NEXT(e); - APR_BUCKET_REMOVE(old); - apr_bucket_destroy(old); + apr_bucket_delete(e); } if (f->c->remain == 0) { apr_bucket *eos = apr_bucket_eos_create(); @@ -1067,8 +1060,7 @@ AP_CORE_DECLARE(int) ap_getline(char *s, int n, request_rec *r, int fold) } e = APR_BRIGADE_FIRST(b); if (e->length == 0) { - APR_BUCKET_REMOVE(e); - apr_bucket_destroy(e); + apr_bucket_delete(e); continue; } retval = apr_bucket_read(e, &temp, &length, APR_BLOCK_READ); @@ -1089,8 +1081,7 @@ AP_CORE_DECLARE(int) ap_getline(char *s, int n, request_rec *r, int fold) last_char = pos + length - 1; if (last_char < beyond_buff) { memcpy(pos, temp, length); - APR_BUCKET_REMOVE(e); - apr_bucket_destroy(e); + apr_bucket_delete(e); } else { /* input line was larger than the caller's buffer */ @@ -2799,8 +2790,7 @@ AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, int bufsiz) } while (APR_BRIGADE_EMPTY(bb)); if (APR_BUCKET_IS_EOS(b)) { /* reached eos on previous invocation */ - APR_BUCKET_REMOVE(b); - apr_bucket_destroy(b); + apr_bucket_delete(b); return 0; } @@ -2824,8 +2814,7 @@ AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, int bufsiz) r->remaining -= len_read; /* XXX yank me? */ old = b; b = APR_BUCKET_NEXT(b); - APR_BUCKET_REMOVE(old); - apr_bucket_destroy(old); + apr_bucket_delete(old); } return total; diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 8fb92799d0..83913d49ee 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -806,8 +806,7 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_sub_req_output_filter(ap_filter_t *f, apr_bucket *e = APR_BRIGADE_LAST(bb); if (APR_BUCKET_IS_EOS(e)) { - APR_BUCKET_REMOVE(e); - apr_bucket_destroy(e); + apr_bucket_delete(e); } ap_pass_brigade(f->next, bb); return APR_SUCCESS; -- 2.40.0