svn commit: r284149 - head/usr.sbin/pw
Baptiste Daroussin
bapt at FreeBSD.org
Mon Jun 8 05:27:36 UTC 2015
Author: bapt
Date: Mon Jun 8 05:27:34 2015
New Revision: 284149
URL: https://svnweb.freebsd.org/changeset/base/284149
Log:
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.
Modified:
head/usr.sbin/pw/pw.8
head/usr.sbin/pw/pw.c
head/usr.sbin/pw/pw_group.c
head/usr.sbin/pw/pw_user.c
Modified: head/usr.sbin/pw/pw.8
==============================================================================
--- head/usr.sbin/pw/pw.8 Mon Jun 8 05:06:17 2015 (r284148)
+++ head/usr.sbin/pw/pw.8 Mon Jun 8 05:27:34 2015 (r284149)
@@ -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
Modified: head/usr.sbin/pw/pw.c
==============================================================================
--- head/usr.sbin/pw/pw.c Mon Jun 8 05:06:17 2015 (r284148)
+++ head/usr.sbin/pw/pw.c Mon Jun 8 05:27:34 2015 (r284149)
@@ -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"
}
};
Modified: head/usr.sbin/pw/pw_group.c
==============================================================================
--- head/usr.sbin/pw/pw_group.c Mon Jun 8 05:06:17 2015 (r284148)
+++ head/usr.sbin/pw/pw_group.c Mon Jun 8 05:27:34 2015 (r284149)
@@ -73,8 +73,11 @@ pw_group(int mode, char *name, long id,
* 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')) {
Modified: head/usr.sbin/pw/pw_user.c
==============================================================================
--- head/usr.sbin/pw/pw_user.c Mon Jun 8 05:06:17 2015 (r284148)
+++ head/usr.sbin/pw/pw_user.c Mon Jun 8 05:27:34 2015 (r284149)
@@ -158,10 +158,14 @@ pw_user(int mode, char *name, long id, s
* 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;
}
/*
More information about the svn-src-all
mailing list