comparison src/os/win32/ngx_files.h @ 8130:b0a06c50c1b4

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 23 Feb 2023 20:49:39 +0300
parents ccb5ff87ab3e
children 751f79bd802c
comparison
equal deleted inserted replaced
8129:3c4d81ea1338 8130:b0a06c50c1b4
28 } ngx_file_mapping_t; 28 } ngx_file_mapping_t;
29 29
30 30
31 typedef struct { 31 typedef struct {
32 HANDLE dir; 32 HANDLE dir;
33 WIN32_FIND_DATA finddata; 33 WIN32_FIND_DATAW finddata;
34
35 u_char *name;
36 size_t namelen;
37 size_t allocated;
34 38
35 unsigned valid_info:1; 39 unsigned valid_info:1;
36 unsigned type:1; 40 unsigned type:1;
37 unsigned ready:1; 41 unsigned ready:1;
38 } ngx_dir_t; 42 } ngx_dir_t;
203 207
204 208
205 #define ngx_dir_access(a) (a) 209 #define ngx_dir_access(a) (a)
206 210
207 211
208 #define ngx_de_name(dir) ((u_char *) (dir)->finddata.cFileName) 212 #define ngx_de_name(dir) (dir)->name
209 #define ngx_de_namelen(dir) ngx_strlen((dir)->finddata.cFileName) 213 #define ngx_de_namelen(dir) (dir)->namelen
210 214
211 ngx_int_t ngx_de_info(u_char *name, ngx_dir_t *dir); 215 ngx_int_t ngx_de_info(u_char *name, ngx_dir_t *dir);
212 #define ngx_de_info_n "dummy()" 216 #define ngx_de_info_n "dummy()"
213 217
214 ngx_int_t ngx_de_link_info(u_char *name, ngx_dir_t *dir); 218 ngx_int_t ngx_de_link_info(u_char *name, ngx_dir_t *dir);