* shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.
This commit is contained in:
parent
5a77fe8ae5
commit
792ca1c2fe
@ -1,3 +1,7 @@
|
|||||||
|
Tue May 28 21:34:00 2001 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.
|
||||||
|
|
||||||
Fri May 25 11:07:07 2001 Christopher Faylor <cgf@cygnus.com>
|
Fri May 25 11:07:07 2001 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
* path.cc (symlink_info::check): Correctly set 'ext_tacked_on'. Use
|
* path.cc (symlink_info::check): Correctly set 'ext_tacked_on'. Use
|
||||||
|
@ -73,9 +73,7 @@ check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
|||||||
IShellLink *psl = NULL;
|
IShellLink *psl = NULL;
|
||||||
IPersistFile *ppf = NULL;
|
IPersistFile *ppf = NULL;
|
||||||
WCHAR wc_path[MAX_PATH];
|
WCHAR wc_path[MAX_PATH];
|
||||||
char full_path[MAX_PATH];
|
|
||||||
char file_header[SHORTCUT_HDR_SIZE];
|
char file_header[SHORTCUT_HDR_SIZE];
|
||||||
WIN32_FIND_DATA wfd;
|
|
||||||
DWORD len = 0;
|
DWORD len = 0;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
DWORD got = 0;
|
DWORD got = 0;
|
||||||
@ -116,9 +114,13 @@ check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
|||||||
len = strlen (contents);
|
len = strlen (contents);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if TREAT_NATIVE_SHORTCUTS_AS_SYMLINKS
|
||||||
/* No description or not R/O: Check the "official" path. */
|
/* No description or not R/O: Check the "official" path. */
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
{
|
{
|
||||||
|
char full_path[MAX_PATH];
|
||||||
|
WIN32_FIND_DATA wfd;
|
||||||
|
|
||||||
/* Convert to full path (easy way) */
|
/* Convert to full path (easy way) */
|
||||||
if ((path[0] == '\\' && path[1] == '\\')
|
if ((path[0] == '\\' && path[1] == '\\')
|
||||||
|| (_toupper (path[0]) >= 'A' && _toupper (path[0]) <= 'Z'
|
|| (_toupper (path[0]) >= 'A' && _toupper (path[0]) <= 'Z'
|
||||||
@ -142,6 +144,7 @@ check_shortcut (const char *path, DWORD fileattr, HANDLE h,
|
|||||||
if (FAILED(hres))
|
if (FAILED(hres))
|
||||||
goto file_not_symlink;
|
goto file_not_symlink;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
res = strlen (contents);
|
res = strlen (contents);
|
||||||
if (res) /* It's a symlink. */
|
if (res) /* It's a symlink. */
|
||||||
*pflags = PATH_SYMLINK;
|
*pflags = PATH_SYMLINK;
|
||||||
|
Loading…
Reference in New Issue
Block a user