changeset 1634:d3cbb96818f1

fix win32 ngx_read_fd() and ngx_write_fd()
author Igor Sysoev <igor@sysoev.ru>
date Sun, 11 Nov 2007 19:56:46 +0000
parents 74b2a52bc3c9
children 481fe1bc191b
files src/os/win32/ngx_files.c src/os/win32/ngx_files.h
diffstat 2 files changed, 30 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/win32/ngx_files.c
+++ b/src/os/win32/ngx_files.c
@@ -174,6 +174,32 @@ ngx_write_chain_to_file(ngx_file_t *file
 }
 
 
+ssize_t
+ngx_read_fd(ngx_fd_t fd, void *buf, size_t size)
+{
+    u_long  n;
+
+    if (ReadFile(fd, buf, size, &n, NULL) != 0) {
+        return (size_t) n;
+    }
+
+    return -1;
+}
+
+
+ssize_t
+ngx_write_fd(ngx_fd_t fd, void *buf, size_t size)
+{
+    u_long  n;
+
+    if (WriteFile(fd, buf, size, &n, NULL) != 0) {
+        return (size_t) n;
+    }
+
+    return -1;
+}
+
+
 ngx_int_t
 ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool)
 {
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -68,12 +68,14 @@ ngx_int_t ngx_file_append_mode(ngx_fd_t 
 #define ngx_close_file_n            "CloseHandle()"
 
 
-#define ngx_read_fd(fd, buf, size)  ReadFile(fd, buf, size, NULL, NULL)
+ssize_t ngx_read_fd(ngx_fd_t fd, void *buf, size_t size);
 #define ngx_read_fd_n               "ReadFile()"
 
-#define ngx_write_fd(fd, buf, size) WriteFile(fd, buf, size, NULL, NULL)
+
+ssize_t ngx_write_fd(ngx_fd_t fd, void *buf, size_t size);
 #define ngx_write_fd_n              "WriteFile()"
 
+
 #define ngx_linefeed(p)             *p++ = CR; *p++ = LF;
 #define NGX_LINEFEED_SIZE           2