diff src/http/ngx_http_write_filter.c @ 67:5a7d1aaa1618

nginx-0.0.1-2003-03-11-23:38:13 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 11 Mar 2003 20:38:13 +0000
parents 36d2c25cc9bb
children e43f406e4525
line wrap: on
line diff
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -70,7 +70,7 @@ int ngx_http_write_filter(ngx_http_reque
                                              ngx_http_write_filter_module);
     if (ctx == NULL) {
         ngx_http_create_ctx(r, ctx, ngx_http_write_filter_module,
-                            sizeof(ngx_http_write_filter_ctx_t));
+                            sizeof(ngx_http_write_filter_ctx_t), NGX_ERROR);
     }
 
     size = flush = 0;
@@ -80,14 +80,12 @@ int ngx_http_write_filter(ngx_http_reque
     /* find the size, the flush point and the last entry of saved chain */
     for (ce = ctx->out; ce; ce = ce->next) {
         le = &ce->next;
-        size += ce->hunk->last.file - ce->hunk->pos.file;
 
-#if (NGX_DEBUG_WRITE_FILTER)
-        ngx_log_debug(r->connection->log, "write filter: old chunk: %x "
-                      QX_FMT " " QD_FMT _
-                      ce->hunk->type _ ce->hunk->pos.file _
-                      ce->hunk->last.file - ce->hunk->pos.file);
-#endif
+        if (ce->hunk->type & NGX_HUNK_IN_MEMORY) {
+            size += ce->hunk->last - ce->hunk->pos;
+        } else {
+            size += ce->hunk->file_last - ce->hunk->file_pos;
+        }
 
         if (ce->hunk->type & (NGX_HUNK_FLUSH|NGX_HUNK_RECYCLED)) {
             flush = size;
@@ -106,14 +104,12 @@ int ngx_http_write_filter(ngx_http_reque
         ce->next = NULL;
         *le = ce;
         le = &ce->next;
-        size += ce->hunk->last.file - ce->hunk->pos.file;
 
-#if (NGX_DEBUG_WRITE_FILTER)
-        ngx_log_debug(r->connection->log, "write filter: new hunk: %x "
-                      QX_FMT " " QD_FMT _
-                      ce->hunk->type _ ce->hunk->pos.file _
-                      ce->hunk->last.file - ce->hunk->pos.file);
-#endif
+        if (ce->hunk->type & NGX_HUNK_IN_MEMORY) {
+            size += ce->hunk->last - ce->hunk->pos;
+        } else {
+            size += ce->hunk->file_last - ce->hunk->file_pos;
+        }
 
         if (ce->hunk->type & (NGX_HUNK_FLUSH|NGX_HUNK_RECYCLED)) {
             flush = size;