diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2012-07-02 14:14:01 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2012-07-02 14:14:01 +0000 |
commit | 26e603454f5d7fc91027497597375370afd2743f (patch) | |
tree | 9fd576c83c45f9ee81ac732b62420d015af1d04e | |
parent | 1809b65e23777b594936915264cc0bcfb78ff622 (diff) | |
download | newlib-26e603454f5d7fc91027497597375370afd2743f.zip newlib-26e603454f5d7fc91027497597375370afd2743f.tar.gz newlib-26e603454f5d7fc91027497597375370afd2743f.tar.bz2 |
* dll_init.cc (dll_list::alloc): Take long UNC paths into account.
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/dll_init.cc | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 77e54f7..a045291 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2012-07-02 Corinna Vinschen <corinna@vinschen.de> + + * dll_init.cc (dll_list::alloc): Take long UNC paths into account. + 2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.in: Add some more optimization flags for cygwait, malloc and diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc index 3b358d5..420f0d8 100644 --- a/winsup/cygwin/dll_init.cc +++ b/winsup/cygwin/dll_init.cc @@ -180,7 +180,14 @@ dll_list::alloc (HINSTANCE h, per_process *p, dll_type type) GetModuleFileNameW (h, buf, sizeof (buf)); PWCHAR name = buf; if (!wcsncmp (name, L"\\\\?\\", 4)) - name += 4; + { + name += 4; + if (!wcsncmp (name, L"UNC\\", 4)) + { + name += 2; + *name = L'\\'; + } + } DWORD namelen = wcslen (name); PWCHAR modname = wcsrchr (name, L'\\') + 1; |