2004-11-20 Pierre Humblet <pierre.humblet@ieee.org>
* cygheap.h (cygheap_user::get_windows_id): New method. * registry.h (get_registry_hive_path): Change argument type. (load_registry_hive): Ditto. * registry.cc (get_registry_hive_path): Change argument type and take Win9x keys into account. (load_registry_hive): Ditto. * uinfo.cc (cygheap_user::env_userprofile): Use get_windows_id, even for SYSTEM. * shared.cc (user_shared_initialize): Use get_windows_id. * syscalls.cc (seteuid32): Load the registry hive and reload the user shared also on Win9x.
This commit is contained in:
@@ -419,11 +419,10 @@ cygheap_user::env_userprofile (const char *name, size_t namelen)
|
||||
return puserprof;
|
||||
|
||||
char userprofile_env_buf[CYG_MAX_PATH + 1];
|
||||
char win_id[UNLEN + 1]; /* Large enough for SID */
|
||||
|
||||
cfree_and_set (puserprof, almost_null);
|
||||
/* FIXME: Should this just be setting a puserprofile like everything else? */
|
||||
const char *myname = winname ();
|
||||
if (myname && strcasematch (myname, "SYSTEM")
|
||||
&& get_registry_hive_path (sid (), userprofile_env_buf))
|
||||
if (get_registry_hive_path (get_windows_id (win_id), userprofile_env_buf))
|
||||
puserprof = cstrdup (userprofile_env_buf);
|
||||
|
||||
return puserprof;
|
||||
|
Reference in New Issue
Block a user