From 13e8e14ab58d253ec205634a78958b97e7d42f44 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 4 Nov 2009 17:09:32 +0000 Subject: [PATCH] * path.cc (read_mounts): Skip unnecessary test if path has been fetched from loaded cygwin1.dll. --- winsup/utils/ChangeLog | 5 +++++ 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,3 +1,8 @@ +2009-11-04 Corinna Vinschen + + * path.cc (read_mounts): Skip unnecessary test if path has been + fetched from loaded cygwin1.dll. + 2009-11-04 Corinna Vinschen * cygcheck.cc (cygwin_dll_path): New global variable. 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'\\');