nginx-0.0.1-2003-06-03-19:42:58 import
diff --git a/src/http/modules/ngx_http_log_handler.c b/src/http/modules/ngx_http_log_handler.c
index f61461c..38aa233 100644
--- a/src/http/modules/ngx_http_log_handler.c
+++ b/src/http/modules/ngx_http_log_handler.c
@@ -198,5 +198,19 @@
         return ngx_conf_errstr;
     }
 
+#if (WIN32)
+    if (ngx_file_append_mode(lcf->file.fd) == NGX_ERROR) {
+        err = ngx_errno;
+        len = ngx_snprintf(ngx_conf_errstr, sizeof(ngx_conf_errstr) - 1,
+                          ngx_file_appned_mode_n " \"%s\" failed (%d: ",
+                          lcf->file.name.data, err);
+        len += ngx_strerror_r(err, ngx_conf_errstr + len,
+                              sizeof(ngx_conf_errstr) - len - 1);
+        ngx_conf_errstr[len++] = ')';
+        ngx_conf_errstr[len++] = '\0';
+        return ngx_conf_errstr;
+    }
+#endif
+
     return NGX_CONF_OK;
 }
diff --git a/src/http/modules/ngx_http_range_filter.c b/src/http/modules/ngx_http_range_filter.c
index d2696fd..d32123b 100644
--- a/src/http/modules/ngx_http_range_filter.c
+++ b/src/http/modules/ngx_http_range_filter.c
@@ -252,7 +252,7 @@
                                      r->headers_out.content_length);
 
                  len += ctx->boundary_header.len + range[i].content_range.len
-                        + range[i].end - range[i].start;
+                        + (size_t) (range[i].end - range[i].start);
             }
 
             r->headers_out.content_length = len;
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index 5612d63..44b650e 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1,13 +1,10 @@
 
 #include <ngx_config.h>
+#include <ngx_core.h>
 
-#include <ngx_string.h>
-#include <ngx_socket.h>
 #include <ngx_listen.h>
-#include <ngx_inet.h>
+
 #include <ngx_http.h>
-#include <ngx_http_config.h>
-#include <ngx_http_core_module.h>
 
 
 static void ngx_http_init_filters(ngx_pool_t *pool, ngx_module_t **modules);
diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h
index 4a6e3ce..c2608a3 100644
--- a/src/http/ngx_http.h
+++ b/src/http/ngx_http.h
@@ -3,15 +3,7 @@
 
 
 #include <ngx_config.h>
-
-#include <ngx_types.h>
-#include <ngx_string.h>
-#include <ngx_table.h>
-#include <ngx_hunk.h>
-#include <ngx_files.h>
-#include <ngx_connection.h>
-#include <ngx_conf_file.h>
-
+#include <ngx_core.h>
 #include <ngx_http_request.h>
 #include <ngx_http_config.h>
 #include <ngx_http_filter.h>
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index b390c94..08a9980 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -798,8 +798,12 @@
     if (conf->listen.nelts == 0) {
         ngx_test_null(l, ngx_push_array(&conf->listen), NGX_CONF_ERROR);
         l->addr = INADDR_ANY;
+#if (WIN32)
+        l->port = 80;
+#else
         /* STUB: getuid() should be cached */
         l->port = (getuid() == 0) ? 80 : 8000;
+#endif
         l->family = AF_INET;
     }
 
diff --git a/src/http/ngx_http_event.c b/src/http/ngx_http_event.c
index d65fdde..b4a9ae9 100644
--- a/src/http/ngx_http_event.c
+++ b/src/http/ngx_http_event.c
@@ -279,6 +279,10 @@
 
         /* STUB: we need to handle such URIs */
         if (r->complex_uri || r->unusual_uri) {
+            r->request_line.len = r->request_end - r->request_start;
+            r->request_line.data = r->request_start;
+            r->request_line.data[r->request_line.len] = '\0';
+
             ngx_http_header_parse_error(r, NGX_HTTP_PARSE_INVALID_REQUEST);
             ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST);
             return;
diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c
index 583b56d..8989f7c 100644
--- a/src/http/ngx_http_header_filter.c
+++ b/src/http/ngx_http_header_filter.c
@@ -93,7 +93,6 @@
     ngx_hunk_t        *h;
     ngx_chain_t       *ch;
     ngx_table_elt_t   *header;
-    ngx_http_range_t  *range;
 
     if (r->http_version < NGX_HTTP_VERSION_10) {
         return NGX_OK;