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) { while (1) {
if (!bucket_avail) { /* no bytes left to process in the current bucket... */ if (!bucket_avail) { /* no bytes left to process in the current bucket... */
if (consumed_bucket) { if (consumed_bucket) {
APR_BUCKET_REMOVE(consumed_bucket); apr_bucket_delete(consumed_bucket);
apr_bucket_destroy(consumed_bucket);
consumed_bucket = NULL; consumed_bucket = NULL;
} }
b = APR_BRIGADE_FIRST(bb); b = APR_BRIGADE_FIRST(bb);
@@ -802,8 +801,7 @@ static apr_status_t xlate_brigade(charset_filter_ctx_t *ctx,
if (bucket_avail) { if (bucket_avail) {
apr_bucket_split(b, bytes_in_bucket - bucket_avail); apr_bucket_split(b, bytes_in_bucket - bucket_avail);
} }
APR_BUCKET_REMOVE(b); apr_bucket_delete(b);
apr_bucket_destroy(b);
break; break;
} }
} }
@@ -894,8 +892,7 @@ static apr_status_t xlate_out_filter(ap_filter_t *f, apr_bucket_brigade *bb)
while (!done) { while (!done) {
if (!cur_len) { /* no bytes left to process in the current bucket... */ if (!cur_len) { /* no bytes left to process in the current bucket... */
if (consumed_bucket) { if (consumed_bucket) {
APR_BUCKET_REMOVE(consumed_bucket); apr_bucket_delete(consumed_bucket);
apr_bucket_destroy(consumed_bucket);
consumed_bucket = NULL; consumed_bucket = NULL;
} }
if (dptr == APR_BRIGADE_SENTINEL(bb)) { 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)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade);
APR_BUCKET_REMOVE(tmp_bkt); apr_bucket_delete(tmp_bkt);
apr_bucket_destroy(tmp_bkt);
} }
} }
@@ -2370,8 +2369,7 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r,
apr_bucket *free_bucket = dptr; apr_bucket *free_bucket = dptr;
dptr = APR_BUCKET_NEXT (dptr); dptr = APR_BUCKET_NEXT (dptr);
APR_BUCKET_REMOVE(free_bucket); apr_bucket_delete(free_bucket);
apr_bucket_destroy(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)) { if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade);
APR_BUCKET_REMOVE(tmp_bkt); apr_bucket_delete(tmp_bkt);
apr_bucket_destroy(tmp_bkt);
} }
} }
else { else {
do { do {
tmp_bkt = tmp_dptr; tmp_bkt = tmp_dptr;
tmp_dptr = APR_BUCKET_NEXT (tmp_dptr); tmp_dptr = APR_BUCKET_NEXT (tmp_dptr);
APR_BUCKET_REMOVE(tmp_bkt); apr_bucket_delete(tmp_bkt);
apr_bucket_destroy(tmp_bkt);
} while ((tmp_dptr != dptr) && } while ((tmp_dptr != dptr) &&
(tmp_dptr != APR_BRIGADE_SENTINEL(*bb))); (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)) { if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade);
APR_BUCKET_REMOVE(tmp_bkt); apr_bucket_delete(tmp_bkt);
apr_bucket_destroy(tmp_bkt);
} }
} }
else { else {
do { do {
tmp_bkt = tmp_dptr; tmp_bkt = tmp_dptr;
tmp_dptr = APR_BUCKET_NEXT (tmp_dptr); tmp_dptr = APR_BUCKET_NEXT (tmp_dptr);
APR_BUCKET_REMOVE(tmp_bkt); apr_bucket_delete(tmp_bkt);
apr_bucket_destroy(tmp_bkt);
} while ((tmp_dptr != content_head) && } while ((tmp_dptr != content_head) &&
(tmp_dptr != APR_BRIGADE_SENTINEL(*bb))); (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)) { if (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) { while (!APR_BRIGADE_EMPTY(ctx->ssi_tag_brigade)) {
tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade); tmp_bkt = APR_BRIGADE_FIRST(ctx->ssi_tag_brigade);
APR_BUCKET_REMOVE(tmp_bkt); apr_bucket_delete(tmp_bkt);
apr_bucket_destroy(tmp_bkt);
} }
} }
@@ -2581,8 +2574,7 @@ static void send_parsed_content(apr_bucket_brigade **bb, request_rec *r,
do { do {
free_bucket = dptr; free_bucket = dptr;
dptr = APR_BUCKET_NEXT (dptr); dptr = APR_BUCKET_NEXT (dptr);
APR_BUCKET_REMOVE(free_bucket); apr_bucket_delete(free_bucket);
apr_bucket_destroy(free_bucket);
} while (dptr != APR_BRIGADE_SENTINEL(*bb)); } while (dptr != APR_BRIGADE_SENTINEL(*bb));
} }
else { /* Otherwise pass it along... */ 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. * we want to process to second request fully.
*/ */
if (APR_BUCKET_IS_EOS(e)) { if (APR_BUCKET_IS_EOS(e)) {
APR_BUCKET_REMOVE(e); apr_bucket_delete(e);
apr_bucket_destroy(e);
} }
ap_save_brigade(f, &ctx->b, &b); ap_save_brigade(f, &ctx->b, &b);
return APR_SUCCESS; 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) { if (ctx->bytes_delivered == ctx->chunk_size) {
AP_DEBUG_ASSERT(APR_BUCKET_IS_EOS(b)); AP_DEBUG_ASSERT(APR_BUCKET_IS_EOS(b));
APR_BUCKET_REMOVE(b); apr_bucket_delete(b);
apr_bucket_destroy(b);
ctx->state = WANT_TRL; 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; c += 2;
else return APR_SUCCESS; else return APR_SUCCESS;
} }
APR_BUCKET_REMOVE(e); apr_bucket_delete(e);
apr_bucket_destroy(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) { if (f->c->remain) {
e = APR_BRIGADE_FIRST(ctx->b); while (!APR_BRIGADE_EMPTY(ctx->b)) {
while (e != APR_BRIGADE_SENTINEL(ctx->b)) {
apr_bucket *old;
const char *ignore; const char *ignore;
e = APR_BRIGADE_FIRST(ctx->b);
if ((rv = apr_bucket_read(e, &ignore, &len, mode)) != APR_SUCCESS) { if ((rv = apr_bucket_read(e, &ignore, &len, mode)) != APR_SUCCESS) {
/* probably APR_IS_EAGAIN(rv); socket state isn't correct; /* probably APR_IS_EAGAIN(rv); socket state isn't correct;
* remove log once we get this squared away */ * 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); APR_BRIGADE_INSERT_TAIL(b, e);
break; /* once we've gotten some data, deliver it to caller */ break; /* once we've gotten some data, deliver it to caller */
} }
apr_bucket_delete(e);
old = e;
e = APR_BUCKET_NEXT(e);
APR_BUCKET_REMOVE(old);
apr_bucket_destroy(old);
} }
if (f->c->remain == 0) { if (f->c->remain == 0) {
apr_bucket *eos = apr_bucket_eos_create(); 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); e = APR_BRIGADE_FIRST(b);
if (e->length == 0) { if (e->length == 0) {
APR_BUCKET_REMOVE(e); apr_bucket_delete(e);
apr_bucket_destroy(e);
continue; continue;
} }
retval = apr_bucket_read(e, &temp, &length, APR_BLOCK_READ); 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; last_char = pos + length - 1;
if (last_char < beyond_buff) { if (last_char < beyond_buff) {
memcpy(pos, temp, length); memcpy(pos, temp, length);
APR_BUCKET_REMOVE(e); apr_bucket_delete(e);
apr_bucket_destroy(e);
} }
else { else {
/* input line was larger than the caller's buffer */ /* 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)); } while (APR_BRIGADE_EMPTY(bb));
if (APR_BUCKET_IS_EOS(b)) { /* reached eos on previous invocation */ if (APR_BUCKET_IS_EOS(b)) { /* reached eos on previous invocation */
APR_BUCKET_REMOVE(b); apr_bucket_delete(b);
apr_bucket_destroy(b);
return 0; 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? */ r->remaining -= len_read; /* XXX yank me? */
old = b; old = b;
b = APR_BUCKET_NEXT(b); b = APR_BUCKET_NEXT(b);
APR_BUCKET_REMOVE(old); apr_bucket_delete(old);
apr_bucket_destroy(old);
} }
return total; 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); apr_bucket *e = APR_BRIGADE_LAST(bb);
if (APR_BUCKET_IS_EOS(e)) { if (APR_BUCKET_IS_EOS(e)) {
APR_BUCKET_REMOVE(e); apr_bucket_delete(e);
apr_bucket_destroy(e);
} }
ap_pass_brigade(f->next, bb); ap_pass_brigade(f->next, bb);
return APR_SUCCESS; return APR_SUCCESS;