The ngx_open_dir() function changed to restore name passed to it. This
fixes removing destination directory in dav module, as caught by dav.t.
The ngx_close_dir() function introduced to properly convert errors, as
FindClose() returns 0 on error.
dir->dir = FindFirstFile((const char *) name->data, &dir->finddata);
+ name->data[name->len] = '\0';
+
if (dir->dir == INVALID_HANDLE_VALUE) {
return NGX_ERROR;
}
}
+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)
{
#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()"