diff options
Diffstat (limited to 'winsup/utils/path.cc')
-rw-r--r-- | winsup/utils/path.cc | 16 |
1 files changed, 10 insertions, 6 deletions
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'\\'); |