diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2012-02-08 17:45:43 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2012-02-08 17:45:43 +0000 |
commit | a7a03a3920777a685564a2b285f3bdce808b53b6 (patch) | |
tree | 8540f9a3dbf877a3cad928b0b15328049f968bb9 | |
parent | 8f4ea5f005c7fe645048e5de3ed11d2744d89028 (diff) | |
download | cygnal-a7a03a3920777a685564a2b285f3bdce808b53b6.tar.gz cygnal-a7a03a3920777a685564a2b285f3bdce808b53b6.tar.bz2 cygnal-a7a03a3920777a685564a2b285f3bdce808b53b6.zip |
* uinfo.cc (cygheap_user::env_userprofile): Convert native
userprofile path returned from get_registry_hive_path to Win32 path.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/uinfo.cc | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index c531ee268..54510dd2a 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,10 @@ 2012-02-08 Corinna Vinschen <corinna@vinschen.de> + * uinfo.cc (cygheap_user::env_userprofile): Convert native + userprofile path returned from get_registry_hive_path to Win32 path. + +2012-02-08 Corinna Vinschen <corinna@vinschen.de> + * dll_init.cc: Throughout, drop usage of modname in favor of name. (dll_list::find_by_modname): Remove. (dll_list::alloc): Only store module basename in name. Add comment to diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index ee90e52d3..eddfcec2b 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -440,7 +440,15 @@ cygheap_user::env_userprofile (const char *name, size_t namelen) cfree_and_set (puserprof, almost_null); if (get_registry_hive_path (get_windows_id (win_id), userprofile_env_buf)) - sys_wcstombs_alloc (&puserprof, HEAP_STR, userprofile_env_buf); + { + PWCHAR up = userprofile_env_buf + 4; + if (!wcsncasecmp (up, L"UNC\\", 4)) + { + up += 2; + *up = L'\\'; + } + sys_wcstombs_alloc (&puserprof, HEAP_STR, up); + } return puserprof; } |