From 09eb000d7a21854e395c547420e02bd21e887042 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 14 Nov 2002 11:10:14 +0000 Subject: [PATCH] Patch from Marcel Hamer to fix addgroup argument parsing --- loginutils/addgroup.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/loginutils/addgroup.c b/loginutils/addgroup.c index 7878a387b..f4c024516 100644 --- a/loginutils/addgroup.c +++ b/loginutils/addgroup.c @@ -132,27 +132,20 @@ static int addgroup(const char *filename, char *group, gid_t gid) * ________________________________________________________________________ */ int addgroup_main(int argc, char **argv) { - int opt; char *group; gid_t gid = 0; - /* get remaining args */ - while ((opt = getopt (argc, argv, "g:")) != -1) - switch (opt) { - case 'g': - gid = strtol(optarg, NULL, 10); - break; - default: - show_usage(); - break; - } - - if (optind >= argc) { + if (argc < 2) { show_usage(); - } else { - group = argv[optind]; } + if (strncmp(argv[1], "-g", 2) == 0) { + gid = strtol(argv[2], NULL, 10); + group = argv[2]; + } else { + show_usage(); + } + if (geteuid() != 0) { error_msg_and_die ("Only root may add a group to the system."); @@ -162,4 +155,4 @@ int addgroup_main(int argc, char **argv) return addgroup(group_file, group, gid); } -/* $Id: addgroup.c,v 1.5 2002/08/06 20:39:23 mjn3 Exp $ */ +/* $Id: addgroup.c,v 1.6 2002/11/14 11:10:14 andersen Exp $ */