From f0d7ac8a2c60aaaa1ddcd06f0d4c598937096177 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Mon, 26 Jan 2004 17:22:04 +0000 Subject: [PATCH] nginx-0.0.1-2004-01-26-20:22:04 import --- src/http/modules/ngx_http_ssi_filter.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/http/modules/ngx_http_ssi_filter.c b/src/http/modules/ngx_http_ssi_filter.c index 78bf60826..13c11f0ce 100644 --- a/src/http/modules/ngx_http_ssi_filter.c +++ b/src/http/modules/ngx_http_ssi_filter.c @@ -194,10 +194,6 @@ static int ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in) ctx->prev = 0; } - if (ctx->pos == ctx->buf->last) { - ctx->prev = ctx->buf->last - ctx->last; - } - if (!(hunk = ngx_calloc_hunk(r->pool))) { return NGX_ERROR; } @@ -212,6 +208,10 @@ static int ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in) *ctx->last_out = cl; ctx->last_out = &cl->next; + if (ctx->pos == ctx->buf->last) { + ctx->prev = ctx->buf->last - ctx->last; + } + continue; #if 0 @@ -236,6 +236,8 @@ static int ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in) ctx->last_out = &cl->next; } } + + ctx->buf = NULL; } if (ctx->out) { @@ -256,6 +258,7 @@ static int ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in) } ctx->out = NULL; + ctx->last_out = &ctx->out; while (ctx->busy) { if (ngx_hunk_size(ctx->busy->hunk) != 0) {