summaryrefslogtreecommitdiffhomepage
path: root/src/os/win32/ngx_files.h
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2023-02-23 20:49:39 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2023-02-23 20:49:39 +0300
commit1f8a66f1991dac0158642a9ac2d531714078ecc6 (patch)
tree0a394669258333e4b02df475c238356c86a0a34d /src/os/win32/ngx_files.h
parentdad6ec3aa63fbd3b427d74842fa659f7a0b82f3b (diff)
downloadnginx-1f8a66f1991dac0158642a9ac2d531714078ecc6.tar.gz
nginx-1f8a66f1991dac0158642a9ac2d531714078ecc6.tar.bz2
Win32: non-ASCII names support in autoindex (ticket #458).
Notably, ngx_open_dir() now supports opening directories with non-ASCII characters, and directory entries returned by ngx_read_dir() are properly converted to UTF-8.
Diffstat (limited to '')
-rw-r--r--src/os/win32/ngx_files.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index a10839ba4..fd197fc9f 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -30,7 +30,11 @@ typedef struct {
typedef struct {
HANDLE dir;
- WIN32_FIND_DATA finddata;
+ WIN32_FIND_DATAW finddata;
+
+ u_char *name;
+ size_t namelen;
+ size_t allocated;
unsigned valid_info:1;
unsigned type:1;
@@ -205,8 +209,8 @@ ngx_int_t ngx_close_dir(ngx_dir_t *dir);
#define ngx_dir_access(a) (a)
-#define ngx_de_name(dir) ((u_char *) (dir)->finddata.cFileName)
-#define ngx_de_namelen(dir) ngx_strlen((dir)->finddata.cFileName)
+#define ngx_de_name(dir) (dir)->name
+#define ngx_de_namelen(dir) (dir)->namelen
ngx_int_t ngx_de_info(u_char *name, ngx_dir_t *dir);
#define ngx_de_info_n "dummy()"