aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/pw/pw_group.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pw/pw_group.c')
-rw-r--r--usr.sbin/pw/pw_group.c47
1 files changed, 37 insertions, 10 deletions
diff --git a/usr.sbin/pw/pw_group.c b/usr.sbin/pw/pw_group.c
index a294d4ecbb5c..1941c03aa2c5 100644
--- a/usr.sbin/pw/pw_group.c
+++ b/usr.sbin/pw/pw_group.c
@@ -1,5 +1,5 @@
/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (C) 1996
* David L. Nugent. All rights reserved.
@@ -26,11 +26,6 @@
* SUCH DAMAGE.
*/
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
#include <ctype.h>
#include <err.h>
#include <grp.h>
@@ -55,7 +50,8 @@ grp_set_passwd(struct group *grp, bool update, int fd, bool precrypted)
int b;
int istty;
struct termios t, n;
- char *p, line[256];
+ static char line[256];
+ char *p;
if (fd == -1)
return;
@@ -276,8 +272,14 @@ pw_group_next(int argc, char **argv, char *arg1 __unused)
case 'q':
quiet = true;
break;
+ default:
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -333,8 +335,14 @@ pw_group_show(int argc, char **argv, char *arg1)
case 'a':
all = true;
break;
+ default:
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -390,8 +398,14 @@ pw_group_del(int argc, char **argv, char *arg1)
case 'Y':
nis = true;
break;
+ default:
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -411,7 +425,7 @@ pw_group_del(int argc, char **argv, char *arg1)
return (EXIT_SUCCESS);
}
-static bool
+bool
grp_has_member(struct group *grp, const char *name)
{
int j;
@@ -548,8 +562,14 @@ pw_group_add(int argc, char **argv, char *arg1)
case 'Y':
nis = true;
break;
+ default:
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
@@ -640,8 +660,15 @@ pw_group_mod(int argc, char **argv, char *arg1)
case 'Y':
nis = true;
break;
+ default:
+ usage();
}
}
+ argc -= optind;
+ argv += optind;
+ if (argc > 0)
+ usage();
+
if (quiet)
freopen(_PATH_DEVNULL, "w", stderr);
cnf = get_userconfig(cfg);
@@ -691,11 +718,11 @@ pw_group_mod(int argc, char **argv, char *arg1)
if ((grp = GETGRNAM(name)) == NULL)
errx(EX_SOFTWARE, "group disappeared during update");
- pw_log(cnf, M_UPDATE, W_GROUP, "%s(%ju)", grp->gr_name,
+ pw_log(cnf, M_MODIFY, W_GROUP, "%s(%ju)", grp->gr_name,
(uintmax_t)grp->gr_gid);
if (nis && nis_update() == 0)
- pw_log(cnf, M_UPDATE, W_GROUP, "NIS maps updated");
+ pw_log(cnf, M_MODIFY, W_GROUP, "NIS maps updated");
return (EXIT_SUCCESS);
}