* shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.
This commit is contained in:
@@ -73,9 +73,7 @@ check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
||||
IShellLink *psl = NULL;
|
||||
IPersistFile *ppf = NULL;
|
||||
WCHAR wc_path[MAX_PATH];
|
||||
char full_path[MAX_PATH];
|
||||
char file_header[SHORTCUT_HDR_SIZE];
|
||||
WIN32_FIND_DATA wfd;
|
||||
DWORD len = 0;
|
||||
int res = 0;
|
||||
DWORD got = 0;
|
||||
@@ -116,9 +114,13 @@ check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
||||
len = strlen (contents);
|
||||
}
|
||||
}
|
||||
#if TREAT_NATIVE_SHORTCUTS_AS_SYMLINKS
|
||||
/* No description or not R/O: Check the "official" path. */
|
||||
if (len == 0)
|
||||
{
|
||||
char full_path[MAX_PATH];
|
||||
WIN32_FIND_DATA wfd;
|
||||
|
||||
/* Convert to full path (easy way) */
|
||||
if ((path[0] == '\\' && path[1] == '\\')
|
||||
|| (_toupper (path[0]) >= 'A' && _toupper (path[0]) <= 'Z'
|
||||
@@ -142,6 +144,7 @@ check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
||||
if (FAILED(hres))
|
||||
goto file_not_symlink;
|
||||
}
|
||||
#endif
|
||||
res = strlen (contents);
|
||||
if (res) /* It's a symlink. */
|
||||
*pflags = PATH_SYMLINK;
|
||||
|
Reference in New Issue
Block a user