backout remove of -q option for pw [user|group] next

While the return code is broken, some corner case usage depends on the
functionnality, so backout until we get better regression tests covering those
corner case usage.
This commit is contained in:
Baptiste Daroussin 2015-06-08 05:27:34 +00:00
parent 6328a4be57
commit 3bfc59e83b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=284149
4 changed files with 20 additions and 9 deletions

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd June 7, 2015
.Dd June 3, 2015
.Dt PW 8
.Os
.Sh NAME
@ -128,6 +128,7 @@
.Op Fl V Ar etcdir
.Ar usernext
.Op Fl C Ar config
.Op Fl q
.Nm
.Op Fl R Ar rootdir
.Op Fl V Ar etcdir
@ -183,6 +184,7 @@
.Op Fl V Ar etcdir
.Ar groupnext
.Op Fl C Ar config
.Op Fl q
.Nm
.Op Fl R Ar rootdir
.Op Fl V Ar etcdir

View File

@ -113,7 +113,7 @@ main(int argc, char *argv[])
"R:V:C:qn:u:rY",
"R:V:C:qn:u:c:d:e:p:g:G:mM:l:k:s:w:L:h:H:FNPY",
"R:V:C:qn:u:FPa7",
"R:V:C:",
"R:V:C:q",
"R:V:C:q",
"R:V:C:q"
},
@ -122,7 +122,7 @@ main(int argc, char *argv[])
"R:V:C:qn:g:Y",
"R:V:C:qn:d:g:l:h:H:FM:m:NPY",
"R:V:C:qn:g:FPa",
"R:V:C:"
"R:V:C:q"
}
};
@ -469,7 +469,8 @@ cmdhelp(int mode, int which)
"usage: pw usernext [switches]\n"
"\t-V etcdir alternate /etc location\n"
"\t-R rootir alternate root directory\n"
"\t-C config configuration file\n",
"\t-C config configuration file\n"
"\t-q quiet operation\n",
"usage pw: lock [switches]\n"
"\t-V etcdir alternate /etc locations\n"
"\t-C config configuration file\n"
@ -523,6 +524,7 @@ cmdhelp(int mode, int which)
"\t-V etcdir alternate /etc location\n"
"\t-R rootir alternate root directory\n"
"\t-C config configuration file\n"
"\t-q quiet operation\n"
}
};

View File

@ -73,8 +73,11 @@ pw_group(int mode, char *name, long id, struct cargs * args)
* next gid to stdout
*/
if (mode == M_NEXT) {
printf("%u\n", gr_gidpolicy(cnf, id));
return (EXIT_SUCCESS);
gid_t next = gr_gidpolicy(cnf, id);
if (getarg(args, 'q'))
return next;
printf("%u\n", next);
return EXIT_SUCCESS;
}
if (mode == M_PRINT && getarg(args, 'a')) {

View File

@ -158,10 +158,14 @@ pw_user(int mode, char *name, long id, struct cargs * args)
* With M_NEXT, we only need to return the
* next uid to stdout
*/
if (mode == M_NEXT) {
printf("%u:", pw_uidpolicy(cnf, id));
if (mode == M_NEXT)
{
uid_t next = pw_uidpolicy(cnf, id);
if (getarg(args, 'q'))
return next;
printf("%u:", next);
pw_group(mode, name, -1, args);
return (EXIT_SUCCESS);
return EXIT_SUCCESS;
}
/*