diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2008-02-14 16:47:11 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2008-02-14 16:47:11 +0000 |
commit | 7b4b41ab3e89bc6bde673b68107e378fa91b230d (patch) | |
tree | 1d1abbf7f5dddcc59dd7016a4356c828a81a7937 /winsup/cygwin/uinfo.cc | |
parent | f16db7f54e3fb059e6875dc33ba66b64efbf33d7 (diff) | |
download | cygnal-7b4b41ab3e89bc6bde673b68107e378fa91b230d.tar.gz cygnal-7b4b41ab3e89bc6bde673b68107e378fa91b230d.tar.bz2 cygnal-7b4b41ab3e89bc6bde673b68107e378fa91b230d.zip |
* cygheap.cc (cwcsdup): New function.
(cwcsdup1): New function.
* cygheap.h (cygheap_user::get_windows_id): New method returning PWCHAR.
(cwcsdup): Declare.
(cwcsdup1): Declare.
* registry.cc (get_registry_hive_path): Use WCHAR instead of char
throughout.
(load_registry_hive): Ditto.
* registry.h (get_registry_hive_path): Change declaration accordingly.
(load_registry_hive): Ditto.
* sec_helper.cc (cygpsid::string): New method returning PWCHAR.
* security.h (cygpsid::string): Declare.
* syscalls.cc (seteuid32): Convert local name var to WCHAR.
* uinfo.cc (cygheap_user::env_userprofile): Convert local name buffers
to WCHAR. Call sys_wcstombs_alloc to generate puserprof buffer.
* winsup.h: Fix comment.
(NT_MAX_PATH): New definition for maximum internal path length.
Use throughout where appropriate.
* include/limits.h (PATH_MAX): Set to 4096 as on Linux.
Diffstat (limited to 'winsup/cygwin/uinfo.cc')
-rw-r--r-- | winsup/cygwin/uinfo.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index c91d77967..24903e4ae 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -408,12 +408,12 @@ cygheap_user::env_userprofile (const char *name, size_t namelen) if (test_uid (puserprof, name, namelen)) return puserprof; - char userprofile_env_buf[PATH_MAX]; - char win_id[UNLEN + 1]; /* Large enough for SID */ + WCHAR userprofile_env_buf[NT_MAX_PATH]; + WCHAR win_id[UNLEN + 1]; /* Large enough for SID */ cfree_and_set (puserprof, almost_null); if (get_registry_hive_path (get_windows_id (win_id), userprofile_env_buf)) - puserprof = cstrdup (userprofile_env_buf); + sys_wcstombs_alloc (&puserprof, HEAP_STR, userprofile_env_buf); return puserprof; } |