diff options
author | bapt <bapt@FreeBSD.org> | 2015-06-07 15:33:08 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2015-06-07 15:33:08 +0000 |
commit | 87cd2261fe983ebe7709e2a10526322a407ca901 (patch) | |
tree | 585c9e6edf6e2df59e5d82fdf005b0fcc5458c56 | |
parent | 9f5d2c6d199d6c5d12499bf85108c5ff1cc671e3 (diff) | |
download | FreeBSD-src-87cd2261fe983ebe7709e2a10526322a407ca901.zip FreeBSD-src-87cd2261fe983ebe7709e2a10526322a407ca901.tar.gz |
Handle -7 via gloval pwconf
-rw-r--r-- | usr.sbin/pw/pw.c | 3 | ||||
-rw-r--r-- | usr.sbin/pw/pw_user.c | 11 | ||||
-rw-r--r-- | usr.sbin/pw/pwupd.h | 1 |
3 files changed, 9 insertions, 6 deletions
diff --git a/usr.sbin/pw/pw.c b/usr.sbin/pw/pw.c index 6376133..c81b5c4 100644 --- a/usr.sbin/pw/pw.c +++ b/usr.sbin/pw/pw.c @@ -215,6 +215,9 @@ main(int argc, char *argv[]) case '?': errx(EX_USAGE, "unknown switch"); break; + case '7': + conf.v7 = true; + break; case 'C': config = optarg; break; diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index bfbde78..0fc7272 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -53,7 +53,7 @@ static char locked_str[] = "*LOCKED*"; static int delete_user(struct userconf *cnf, struct passwd *pwd, struct carg *a_name, int delete, int mode); -static int print_user(struct passwd * pwd, int v7); +static int print_user(struct passwd * pwd); static uid_t pw_uidpolicy(struct userconf * cnf, struct cargs * args); static uid_t pw_gidpolicy(struct cargs * args, char *nam, gid_t prefer); static time_t pw_pwdpolicy(struct userconf * cnf, struct cargs * args); @@ -316,10 +316,9 @@ pw_user(int mode, struct cargs * args) } if (mode == M_PRINT && getarg(args, 'a')) { - int v7 = getarg(args, '7') != NULL; SETPWENT(); while ((pwd = GETPWENT()) != NULL) - print_user(pwd, v7); + print_user(pwd); ENDPWENT(); return EXIT_SUCCESS; } @@ -1161,15 +1160,15 @@ delete_user(struct userconf *cnf, struct passwd *pwd, struct carg *a_name, } static int -print_user(struct passwd * pwd, int v7) +print_user(struct passwd * pwd) { if (!conf.pretty) { char *buf; - if (!v7) + if (!conf.v7) pwd->pw_passwd = (pwd->pw_passwd == NULL) ? "" : "*"; - buf = v7 ? pw_make_v7(pwd) : pw_make(pwd); + buf = conf.v7 ? pw_make_v7(pwd) : pw_make(pwd); printf("%s\n", buf); free(buf); } else { diff --git a/usr.sbin/pw/pwupd.h b/usr.sbin/pw/pwupd.h index 63aaa64..573e063 100644 --- a/usr.sbin/pw/pwupd.h +++ b/usr.sbin/pw/pwupd.h @@ -85,6 +85,7 @@ struct pwconf { char etcpath[MAXPATHLEN]; bool dryrun; bool pretty; + bool v7; struct userconf *userconf; }; |