nginx-0.0.3-2004-05-10-23:53:35 import
diff --git a/auto/cc b/auto/cc
index b089529..27f3f4f 100644
--- a/auto/cc
+++ b/auto/cc
@@ -241,7 +241,7 @@
wcl386)
- # Open Watcom 1.0
+ # Open Watcom C 1.0
# optimization
@@ -295,6 +295,9 @@
# quiet
CFLAGS="$CFLAGS -zq"
+ # Open Watcom C 1.2
+ have=HAVE_C99_VARIADIC_MACROS . auto/have
+
# precompiled headers
CORE_DEPS="$CORE_DEPS $OBJS\\ngx_config.pch"
PCH="$OBJS\\ngx_config.pch"
diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.c b/src/http/modules/proxy/ngx_http_proxy_handler.c
index 027dc3c..8aa3397 100644
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -1202,6 +1202,11 @@
if (u->port_text.len > 0) {
u->port = ngx_atoi(u->port_text.data, u->port_text.len);
if (u->port > 0) {
+
+ if (u->port == 80) {
+ u->default_port = 1;
+ }
+
u->port = htons((u_short) u->port);
return NULL;
}
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index 8c1a98a..0567537 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -70,7 +70,7 @@
{
int last;
off_t size, flush;
- ngx_chain_t *cl, **ll, *chain;
+ ngx_chain_t *cl, *ln, **ll, *chain;
ngx_http_write_filter_ctx_t *ctx;
ngx_http_write_filter_conf_t *conf;
@@ -105,8 +105,8 @@
/* add the new chain to the existent one */
- for (/* void */; in; in = in->next) {
- ngx_alloc_link_and_set_hunk(cl, in->hunk, r->pool, NGX_ERROR);
+ for (ln = in; ln; ln = ln->next) {
+ ngx_alloc_link_and_set_hunk(cl, ln->hunk, r->pool, NGX_ERROR);
*ll = cl;
ll = &cl->next;
@@ -129,11 +129,12 @@
ngx_http_write_filter_module);
/*
- * avoid the output if there is no last hunk, no flush point and
- * the size of the hunks is smaller than "postpone_output" directive
+ * avoid the output if there is no last hunk, no flush point,
+ * there are the incoming hunks and the size of all hunks
+ * is smaller than "postpone_output" directive
*/
- if (!last && flush == 0 && size < (off_t) conf->postpone_output) {
+ if (!last && flush == 0 && in && size < (off_t) conf->postpone_output) {
return NGX_OK;
}
@@ -142,6 +143,8 @@
}
if (size == 0) {
+ ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
+ "the http output chain is empty");
return NGX_OK;
}