diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-11-04 17:09:32 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-11-04 17:09:32 +0000 |
commit | 13e8e14ab58d253ec205634a78958b97e7d42f44 (patch) | |
tree | 8fdd17e5be0eefbe29f4b545c3ac440765c7f9a9 /winsup/utils | |
parent | b5f48aa96165f6f18f4f5c2b337171c626c6b423 (diff) | |
download | cygnal-13e8e14ab58d253ec205634a78958b97e7d42f44.tar.gz cygnal-13e8e14ab58d253ec205634a78958b97e7d42f44.tar.bz2 cygnal-13e8e14ab58d253ec205634a78958b97e7d42f44.zip |
* path.cc (read_mounts): Skip unnecessary test if path has been
fetched from loaded cygwin1.dll.
Diffstat (limited to 'winsup/utils')
-rw-r--r-- | winsup/utils/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/utils/path.cc | 16 |
2 files changed, 15 insertions, 6 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index 398670d8f..e019dfb41 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,5 +1,10 @@ 2009-11-04 Corinna Vinschen <corinna@vinschen.de> + * path.cc (read_mounts): Skip unnecessary test if path has been + fetched from loaded cygwin1.dll. + +2009-11-04 Corinna Vinschen <corinna@vinschen.de> + * cygcheck.cc (cygwin_dll_path): New global variable. (load_cygwin): Fetch cygwin DLL path and store in cygwin_dll_path. * strace.cc: Full ditto. diff --git a/winsup/utils/path.cc b/winsup/utils/path.cc index 34001f057..0360119dd 100644 --- a/winsup/utils/path.cc +++ b/winsup/utils/path.cc @@ -594,12 +594,16 @@ read_mounts () path_end = wcsrchr (path, L'\\'); if (path_end) { - wcscpy (path_end, L"\\cygwin1.dll"); - DWORD attr = GetFileAttributesW (path); - if (attr == (DWORD) -1 - || (attr & (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT))) - path_end = NULL; - else + if (!cygwin_dll_path[0]) + { + wcscpy (path_end, L"\\cygwin1.dll"); + DWORD attr = GetFileAttributesW (path); + if (attr == (DWORD) -1 + || (attr & (FILE_ATTRIBUTE_DIRECTORY + | FILE_ATTRIBUTE_REPARSE_POINT))) + path_end = NULL; + } + if (path_end) { *path_end = L'\0'; path_end = wcsrchr (path, L'\\'); |