X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/b51259f6a879f69bec5348bddb604d9b3d499941..799dfcfab944cd604ee0850f37e0dcb07f02d84d:/unix/uxplink.c diff --git a/unix/uxplink.c b/unix/uxplink.c index e8b616eb..8d0e169a 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -74,48 +74,11 @@ static Config cfg; char *platform_default_s(const char *name) { if (!strcmp(name, "X11Display")) - return getenv("DISPLAY"); + return dupstr(getenv("DISPLAY")); if (!strcmp(name, "TermType")) - return getenv("TERM"); - if (!strcmp(name, "UserName")) { - /* - * Remote login username will default to the local username. - */ - struct passwd *p; - uid_t uid = getuid(); - char *user, *ret = NULL; - - /* - * First, find who we think we are using getlogin. If this - * agrees with our uid, we'll go along with it. This should - * allow sharing of uids between several login names whilst - * coping correctly with people who have su'ed. - */ - user = getlogin(); - setpwent(); - if (user) - p = getpwnam(user); - else - p = NULL; - if (p && p->pw_uid == uid) { - /* - * The result of getlogin() really does correspond to - * our uid. Fine. - */ - ret = user; - } else { - /* - * If that didn't work, for whatever reason, we'll do - * the simpler version: look up our uid in the password - * file and map it straight to a name. - */ - p = getpwuid(uid); - ret = p->pw_name; - } - endpwent(); - - return ret; - } + return dupstr(getenv("TERM")); + if (!strcmp(name, "UserName")) + return get_username(); return NULL; }