Fixes for chpass.
Submitted by: Heikki Suonsivu <hsu@cs.hut.fi>
This commit is contained in:
parent
2cbfd0e229
commit
ef60271dc0
@ -118,16 +118,32 @@ display(fd, pw)
|
||||
(void)fprintf(fp, "Shell: %s\n",
|
||||
*pw->pw_shell ? pw->pw_shell : _PATH_BSHELL);
|
||||
else
|
||||
list[E_SHELL].restricted = 1;
|
||||
list[E_SHELL].restricted = 1;
|
||||
bp = pw->pw_gecos;
|
||||
|
||||
p = strsep(&bp, ",");
|
||||
(void)fprintf(fp, "Full Name: %s\n", p ? p : "");
|
||||
p = strsep(&bp, ",");
|
||||
(void)fprintf(fp, "Location: %s\n", p ? p : "");
|
||||
p = strsep(&bp, ",");
|
||||
(void)fprintf(fp, "Office Phone: %s\n", p ? p : "");
|
||||
p = strsep(&bp, ",");
|
||||
(void)fprintf(fp, "Home Phone: %s\n", p ? p : "");
|
||||
if (p)
|
||||
list[E_NAME].save = strdup(p);
|
||||
if (!list[E_NAME].restricted)
|
||||
(void)fprintf(fp, "Full Name: %s\n", p ? p : "");
|
||||
|
||||
p = strsep(&bp, ",");
|
||||
if (p)
|
||||
list[E_LOCATE].save = strdup(p);
|
||||
if (!list[E_LOCATE].restricted)
|
||||
(void)fprintf(fp, "Location: %s\n", p ? p : "");
|
||||
|
||||
p = strsep(&bp, ",");
|
||||
if (p)
|
||||
list[E_BPHONE].save = strdup(p);
|
||||
if (!list[E_BPHONE].restricted)
|
||||
(void)fprintf(fp, "Office Phone: %s\n", p ? p : "");
|
||||
|
||||
p = strsep(&bp, ",");
|
||||
if (p)
|
||||
list[E_HPHONE].save = strdup(p);
|
||||
if (!list[E_HPHONE].restricted)
|
||||
(void)fprintf(fp, "Home Phone: %s\n", p ? p : "");
|
||||
|
||||
(void)fchown(fd, getuid(), getgid());
|
||||
(void)fclose(fp);
|
||||
|
@ -50,7 +50,7 @@ ENTRY list[] = {
|
||||
{ "class", p_class, 1, 5, e1, },
|
||||
{ "change", p_change, 1, 6, NULL, },
|
||||
{ "expire", p_expire, 1, 6, NULL, },
|
||||
{ "full name", p_gecos, 0, 9, e2, },
|
||||
{ "full name", p_gecos, 1, 9, e2, },
|
||||
{ "office phone", p_gecos, 0, 12, e2, },
|
||||
{ "home phone", p_gecos, 0, 10, e2, },
|
||||
{ "location", p_gecos, 0, 8, e2, },
|
||||
|
Loading…
Reference in New Issue
Block a user