Hello! On Tue, Nov 01, 2022 at 08:15:48PM +0900, Won-Kyu Park wrote:
> # HG changeset patch > # User Won-Kyu Park <wkp...@gmail.com> > # Date 1667298839 -32400 > # Tue Nov 01 19:33:59 2022 +0900 > # Node ID c964b33d60679f5cd8d43a8f859d16c2ac6f89e1 > # Parent 1ae25660c0c76edef14121ca64362f28b9d57a70 > fix ngx_realpath() for win32 > > diff -r 1ae25660c0c7 -r c964b33d6067 src/os/win32/ngx_files.c > --- a/src/os/win32/ngx_files.c Wed Oct 19 10:56:21 2022 +0300 > +++ b/src/os/win32/ngx_files.c Tue Nov 01 19:33:59 2022 +0900 > @@ -416,14 +416,6 @@ > } > > > -u_char * > -ngx_realpath(u_char *path, u_char *resolved) > -{ > - /* STUB */ > - return path; > -} > - > - > ngx_int_t > ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir) > { > diff -r 1ae25660c0c7 -r c964b33d6067 src/os/win32/ngx_files.h > --- a/src/os/win32/ngx_files.h Wed Oct 19 10:56:21 2022 +0300 > +++ b/src/os/win32/ngx_files.h Tue Nov 01 19:33:59 2022 +0900 > @@ -172,7 +172,7 @@ > void ngx_close_file_mapping(ngx_file_mapping_t *fm); > > > -u_char *ngx_realpath(u_char *path, u_char *resolved); > +#define ngx_realpath(path, resolved) (u_char *)_fullpath((char > *)(resolved), (char *)(path), MAX_PATH) > #define ngx_realpath_n "" > #define ngx_getcwd(buf, size) GetCurrentDirectory(size, (char *) buf) > #define ngx_getcwd_n "GetCurrentDirectory()" > > ---- END -------- > This small fix would set $realpath_root as expected for win32. Could you please clarify "as expected"? It doesn't look like _fullpath() resolves symbolic links, which is expected behaviour for $realpath_root. Rather, it looks like GetFinalPathNameByHandle() should be used if we want to actually support $realpath_root as it is expected to work, that is, providing path with symlinks resolved. It might be tricky to use it though, as it is only available in Windows Vista or later. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-devel mailing list -- nginx-devel@nginx.org To unsubscribe send an email to nginx-devel-le...@nginx.org