diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
index 423e4cd..af801d7 100644
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -18,7 +18,12 @@
 }
 
 
-/* TODO: remove strftime() */
+/* TODO:
+ *   cache ngx_tm_t
+ *   write own gmtime()
+ *   remove strftime()
+ *   we can remove localtime_r
+ */
 
 void ngx_time_update()
 {
diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c
index 99a1eee..0fc7a71 100644
--- a/src/event/modules/ngx_iocp_module.c
+++ b/src/event/modules/ngx_iocp_module.c
@@ -164,6 +164,7 @@
     ngx_err_t          err;
     ngx_msec_t         timer;
     ngx_event_t       *ev;
+    struct timeval     tv;
     ngx_epoch_msec_t   delta;
     ngx_event_ovlp_t  *ovlp;
 
diff --git a/src/http/ngx_http_cache.c b/src/http/ngx_http_cache.c
index 5808406..299455b 100644
--- a/src/http/ngx_http_cache.c
+++ b/src/http/ngx_http_cache.c
@@ -5,6 +5,13 @@
 
 #include <md5.h>
 
+/* STUB */
+#if (WIN32)
+#define  MD5Init    MD5_Init
+#define  MD5Update  MD5_Update
+#define  MD5Final   MD5_Final
+#endif
+
 
 int ngx_http_cache_get_file(ngx_http_request_t *r, ngx_http_cache_ctx_t *ctx)
 {
diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c
index f67c568..99b2c9f 100644
--- a/src/http/ngx_http_header_filter.c
+++ b/src/http/ngx_http_header_filter.c
@@ -287,13 +287,10 @@
     if (r->headers_out.content_type && r->headers_out.content_type->value.len) {
         h->last = ngx_cpymem(h->last, "Content-Type: ",
                              sizeof("Content-Type: ") - 1);
-#if (NGX_HTTP_LOG_ALL_HEADERS_OUT)
         p = h->last;
-#endif
         h->last = ngx_cpymem(h->last, r->headers_out.content_type->value.data,
                              r->headers_out.content_type->value.len);
 
-#if (NGX_HTTP_LOG_ALL_HEADERS_OUT)
         if (r->headers_out.charset.len) {
             h->last = ngx_cpymem(h->last, "; charset=",
                                  sizeof("; charset=") - 1);
@@ -302,7 +299,6 @@
 
             r->headers_out.content_type->value.len = h->last - p;
             r->headers_out.content_type->value.data = p;
-#endif
         }
 
         *(h->last++) = CR; *(h->last++) = LF;
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index 0565eaf..7692585 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -52,6 +52,10 @@
 #define ngx_close_file              CloseHandle
 #define ngx_close_file_n            "CloseHandle()"
 
+/* STUB */
+#define ngx_rename_file             MoveFile
+#define ngx_rename_file_n           "MoveFile()"
+
 #define ngx_mkdir(name)             CreateDirectory(name, NULL)
 #define ngx_mkdir_n                 "CreateDirectory()"
 
diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c
index 8497c53..0aa2c5e 100644
--- a/src/os/win32/ngx_time.c
+++ b/src/os/win32/ngx_time.c
@@ -24,6 +24,6 @@
     intervals = ((uint64_t) ft.dwHighDateTime << 32) | ft.dwLowDateTime;
     intervals -= 116444736000000000;
 
-    tp->tv_sec = intervals / 10000000;
-    tp->tv_usec = (intervals % 10000000) / 10;
+    tp->tv_sec = (long) (intervals / 10000000);
+    tp->tv_usec = (long) ((intervals % 10000000) / 10);
 }
diff --git a/src/os/win32/ngx_time.h b/src/os/win32/ngx_time.h
index 36f8918..a40dfb4 100644
--- a/src/os/win32/ngx_time.h
+++ b/src/os/win32/ngx_time.h
@@ -27,12 +27,6 @@
 #define ngx_localtime  GetLocalTime
 
 
-struct timeval {
-    long   tv_sec;
-    long   tv_usec;
-};
-
-
 void ngx_gettimeofday(struct timeval *tp);
 
 
diff --git a/src/os/win32/ngx_win32_config.h b/src/os/win32/ngx_win32_config.h
index 74769be..c72aaff 100644
--- a/src/os/win32/ngx_win32_config.h
+++ b/src/os/win32/ngx_win32_config.h
@@ -36,6 +36,7 @@
 #define SIZE_FMT   "%d"
 #define SIZEX_FMT  "%x"
 #define PID_FMT    "%d"
+#define TIME_FMT   "%lu"
 
 
 /* STUB */
