1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

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
This commit is contained in:
Cliff Woolley
2001-02-25 23:08:52 +00:00
parent d3fdebba53
commit 93fe62dd77
5 changed files with 22 additions and 46 deletions

View File

@@ -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)) {

View File

@@ -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... */

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;