* autoload.cc (NetGetDCName): Change to make this an optional load function.

* cygheap.h (cygheap_user::logsrv): Return NULL when operation fails.
(cygheap_user::winname): Ditto.
(cygheap_user::domain): Ditto.
* uinfo.cc (cygheap_user::env_logsrv): Save results in temp variable.
(cygheap_user::env_userprofile): Ditto.
This commit is contained in:
Christopher Faylor
2002-06-29 22:05:30 +00:00
parent 638180f51f
commit efc1575ecd
4 changed files with 23 additions and 7 deletions

View File

@@ -319,12 +319,14 @@ cygheap_user::env_logsrv (const char *name, size_t namelen)
if (test_uid (plogsrv, name, namelen))
return plogsrv;
if (!domain () || strcasematch (winname (), "SYSTEM"))
const char *mydomain = domain ();
const char *myname = winname ();
if (!mydomain || strcasematch (myname, "SYSTEM"))
return almost_null;
char logsrv[INTERNET_MAX_HOST_NAME_LENGTH + 3];
cfree_and_set (plogsrv, almost_null);
if (get_logon_server (domain (), logsrv, NULL))
if (get_logon_server (mydomain, logsrv, NULL))
plogsrv = cstrdup (logsrv);
return plogsrv;
}
@@ -363,7 +365,8 @@ cygheap_user::env_userprofile (const char *name, size_t namelen)
char userprofile_env_buf[MAX_PATH + 1];
cfree_and_set (puserprof, almost_null);
/* FIXME: Should this just be setting a puserprofile like everything else? */
if (!strcasematch (winname (), "SYSTEM")
const char *myname = winname ();
if (myname && strcasematch (myname, "SYSTEM")
&& get_registry_hive_path (sid (), userprofile_env_buf))
puserprof = cstrdup (userprofile_env_buf);