diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-02-09 11:14:39 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-02-09 11:14:39 +0000 |
commit | 1175e543201444659522baa004c976838ecdc606 (patch) | |
tree | a13785db2f8ccd3f5cc27a84853476c3eb37f056 /chpass | |
parent | e6fc7aa8756963973843f735b76491e20a4a37b8 (diff) | |
download | pw-darwin-1175e543201444659522baa004c976838ecdc606.tar.gz pw-darwin-1175e543201444659522baa004c976838ecdc606.tar.zst pw-darwin-1175e543201444659522baa004c976838ecdc606.zip |
Fixes for chpass.
Submitted by: Heikki Suonsivu <hsu@cs.hut.fi>
Diffstat (limited to 'chpass')
-rw-r--r-- | chpass/edit.c | 32 | ||||
-rw-r--r-- | chpass/table.c | 2 |
2 files changed, 25 insertions, 9 deletions
diff --git a/chpass/edit.c b/chpass/edit.c index 34bd35b..b62b40f 100644 --- a/chpass/edit.c +++ b/chpass/edit.c @@ -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); diff --git a/chpass/table.c b/chpass/table.c index 46a12d1..c6b76b3 100644 --- a/chpass/table.c +++ b/chpass/table.c @@ -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, }, |