# HG changeset patch # User Igor Sysoev # Date 1075137724 0 # Node ID 725129fdd524cf29985b0972ca9b75dc271a6d1e # Parent 574bea0142be68555a4da98849a1e086d941b39b nginx-0.0.1-2004-01-26-20:22:04 import diff --git a/src/http/modules/ngx_http_ssi_filter.c b/src/http/modules/ngx_http_ssi_filter.c --- 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_ 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_ *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_ ctx->last_out = &cl->next; } } + + ctx->buf = NULL; } if (ctx->out) { @@ -256,6 +258,7 @@ static int ngx_http_ssi_body_filter(ngx_ } ctx->out = NULL; + ctx->last_out = &ctx->out; while (ctx->busy) { if (ngx_hunk_size(ctx->busy->hunk) != 0) {