diff --git a/login.1 b/login.1 index 4d13d73..e810c73 100644 --- a/login.1 +++ b/login.1 @@ -5,7 +5,7 @@ \fBlogin\fR [\fB-p\fR] \fIusername\fR .SH DESCRIPTION \fBlogin\fR logs the \fIusername\fR into the system. It sets \fBHOME\fR, -\fBSHELL\fR, \fBUSER\fR, \fBLOGNAME\fR, \fBTERM\fR and the \fBPATH\fR environment +\fBSHELL\fR, \fBUSER\fR, \fBLOGNAME\fR and the \fBPATH\fR environment variables and invokes the login shell as specified in \fI/etc/passwd\fR. .SH OPTIONS .TP diff --git a/login.c b/login.c index fa01371..bc90818 100644 --- a/login.c +++ b/login.c @@ -113,12 +113,11 @@ dologin(struct passwd *pw, int preserve) { if (preserve == 0) clearenv(); - setenv("HOME", pw->pw_dir, !preserve); - setenv("SHELL", pw->pw_shell, !preserve); - setenv("USER", pw->pw_name, !preserve); - setenv("LOGNAME", pw->pw_name, !preserve); - setenv("TERM", "linux", !preserve); - setenv("PATH", ENV_PATH, !preserve); + setenv("HOME", pw->pw_dir, 1); + setenv("SHELL", pw->pw_shell, 1); + setenv("USER", pw->pw_name, 1); + setenv("LOGNAME", pw->pw_name, 1); + setenv("PATH", ENV_PATH, 1); if (chdir(pw->pw_dir) < 0) eprintf("chdir %s:", pw->pw_dir); execlp(pw->pw_shell, pw->pw_shell, "-l", NULL);