OSDN Git Service

* shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.
authorcorinna <corinna>
Tue, 29 May 2001 08:04:54 +0000 (08:04 +0000)
committercorinna <corinna>
Tue, 29 May 2001 08:04:54 +0000 (08:04 +0000)
winsup/cygwin/ChangeLog
winsup/cygwin/shortcut.c

index 7aefe1d..55f61a7 100644 (file)
@@ -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>
 
        * path.cc (symlink_info::check): Correctly set 'ext_tacked_on'.  Use
index 2f7c1e1..1aaa5de 100644 (file)
@@ -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;