# HG changeset patch # User Igor Sysoev # Date 1194811006 0 # Node ID d3cbb96818f138e9611201b01c7352fc2716fb2c # Parent 74b2a52bc3c99b63c60784223d396352abfeec38 fix win32 ngx_read_fd() and ngx_write_fd() diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c --- 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) { diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h --- 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