diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c index 32e28b5d4..881ffefb4 100644 --- a/src/os/win32/ngx_files.c +++ b/src/os/win32/ngx_files.c @@ -430,6 +430,8 @@ ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir) dir->dir = FindFirstFile((const char *) name->data, &dir->finddata); + name->data[name->len] = '\0'; + if (dir->dir == INVALID_HANDLE_VALUE) { return NGX_ERROR; } @@ -458,6 +460,17 @@ ngx_read_dir(ngx_dir_t *dir) } +ngx_int_t +ngx_close_dir(ngx_dir_t *dir) +{ + if (FindClose(dir->dir) == 0) { + return NGX_ERROR; + } + + return NGX_OK; +} + + ngx_int_t ngx_open_glob(ngx_glob_t *gl) { diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h index 08e5dc67e..aafb5d0b4 100644 --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -193,7 +193,7 @@ ngx_int_t ngx_read_dir(ngx_dir_t *dir); #define ngx_read_dir_n "FindNextFile()" -#define ngx_close_dir(d) FindClose((d)->dir) +ngx_int_t ngx_close_dir(ngx_dir_t *dir); #define ngx_close_dir_n "FindClose()"