Provide lstat() for Windows.

Thomas Munro <tmunro@postgresql.org>

Commit: ee219102d2e76d3e7277ac1a7ddda7757737b31b
Author: Thomas Munro <tmunro@postgresql.org>
Committer: Andrew Dunstan <andrew@dunslane.net>
Date: 2024-11-07T23:15:58Z
Releases: 13.17
Provide lstat() for Windows.

Junction points will be reported with S_ISLNK(x.st_mode), simulating
POSIX lstat().  stat() will follow pseudo-symlinks, like in POSIX (but
only one level before giving up, unlike in POSIX).

This completes a TODO left by commit bed90759fcb.

Tested-by: Andrew Dunstan <andrew@dunslane.net> (earlier version)
Discussion: https://postgr.es/m/CA%2BhUKGLfOOeyZpm5ByVcAt7x5Pn-%3DxGRNCvgiUPVVzjFLtnY0w%40mail.gmail.com
(cherry picked from commit c5cb8f3b770c043509b61528664bcd805e1777e6)

Author: Thomas Munro <tmunro@postgresql.org>
Author: Alexandra Wang <alexandra.wang.oss@gmail.com>

Files

PathChange+/−
src/include/port/win32_port.h modified +17 −1
src/port/win32stat.c modified +106 −4