patch 9.0.1769: executable() ignoring symlinks on Windows
Problem: executable() ignoring symlinks on Windows
Solution: resolve reparse points
closes: #12562
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: AmberArr <me@frost.moe>
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 5360fa9..aa5fe52 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -1775,7 +1775,11 @@
return FALSE;
}
- static char_u *
+/*
+ * Return the resolved file path, NULL if "fname" is an AppExecLink reparse
+ * point, already fully resolved, or it doesn't exists.
+ */
+ char_u *
resolve_reparse_point(char_u *fname)
{
HANDLE h = INVALID_HANDLE_VALUE;