changeset 240:725129fdd524

nginx-0.0.1-2004-01-26-20:22:04 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 26 Jan 2004 17:22:04 +0000
parents 574bea0142be
children 3bfa496bc22e
files src/http/modules/ngx_http_ssi_filter.c
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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) {