* mkgroup.c (usage): Simplify usage output. Generalize to allow use
for help. Correct '?' typo to 'h'. (longopts): Add version option. (opts): Add 'v' version option. (print_version): New function. (main): Accommodate new version option. Accommodate usage parameter changes. Use usage to output help message.
This commit is contained in:
		| @@ -1,3 +1,13 @@ | ||||
| 2002-03-16  Joshua Daniel Franklin <joshuadfranklin@yahoo.com> | ||||
|  | ||||
| 	* mkgroup.c (usage): Simplify usage output.  Generalize to allow use | ||||
| 	for help. Correct '?' typo to 'h'. | ||||
| 	(longopts): Add version option. | ||||
| 	(opts): Add 'v' version option. | ||||
| 	(print_version): New function. | ||||
| 	(main): Accommodate new version option.  Accommodate usage parameter | ||||
| 	changes.  Use usage to output help message. | ||||
|  | ||||
| 2002-03-15  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* mkgroup.c (main): When generating group 513, check for computer's | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| /* mkgroup.c: | ||||
|  | ||||
|    Copyright 1997, 1998 Cygnus Solutions. | ||||
|    Copyright 1997, 1998, 2002 Cygnus Solutions. | ||||
|  | ||||
|    This file is part of Cygwin. | ||||
|  | ||||
| @@ -20,6 +20,8 @@ | ||||
| #include <ntsecapi.h> | ||||
| #include <ntdef.h> | ||||
|  | ||||
| static const char version[] = "$Revision$"; | ||||
|  | ||||
| SID_IDENTIFIER_AUTHORITY sid_world_auth = {SECURITY_WORLD_SID_AUTHORITY}; | ||||
| SID_IDENTIFIER_AUTHORITY sid_nt_auth = {SECURITY_NT_AUTHORITY}; | ||||
|  | ||||
| @@ -402,23 +404,24 @@ print_special (int print_sids, | ||||
| } | ||||
|  | ||||
| int | ||||
| usage () | ||||
| usage (FILE * stream, int status) | ||||
| { | ||||
|   fprintf (stderr, "Usage: mkgroup [OPTION]... [domain]\n\n"); | ||||
|   fprintf (stderr, "This program prints a /etc/group file to stdout\n\n"); | ||||
|   fprintf (stderr, "Options:\n"); | ||||
|   fprintf (stderr, "   -l,--local             print local group information\n"); | ||||
|   fprintf (stderr, "   -d,--domain            print global group information from the domain\n"); | ||||
|   fprintf (stderr, "                          specified (or from the current domain if there is\n"); | ||||
|   fprintf (stderr, "                          no domain specified)\n"); | ||||
|   fprintf (stderr, "   -o,--id-offset offset  change the default offset (10000) added to uids\n"); | ||||
|   fprintf (stderr, "                          in domain accounts.\n"); | ||||
|   fprintf (stderr, "   -s,--no-sids           don't print SIDs in pwd field\n"); | ||||
|   fprintf (stderr, "                          (this affects ntsec)\n"); | ||||
|   fprintf (stderr, "   -u,--users             print user list in gr_mem field\n"); | ||||
|   fprintf (stderr, "   -?,--help              print this message\n\n"); | ||||
|   fprintf (stderr, "One of `-l' or `-d' must be given on NT/W2K.\n"); | ||||
|   return 1; | ||||
|   fprintf (stream, "Usage: mkgroup [OPTION]... [domain]\n\n"); | ||||
|   fprintf (stream, "This program prints a /etc/group file to stdout\n\n"); | ||||
|   fprintf (stream, "Options:\n"); | ||||
|   fprintf (stream, "   -l,--local             print local group information\n"); | ||||
|   fprintf (stream, "   -d,--domain            print global group information from the domain\n"); | ||||
|   fprintf (stream, "                          specified (or from the current domain if there is\n"); | ||||
|   fprintf (stream, "                          no domain specified)\n"); | ||||
|   fprintf (stream, "   -o,--id-offset offset  change the default offset (10000) added to uids\n"); | ||||
|   fprintf (stream, "                          in domain accounts.\n"); | ||||
|   fprintf (stream, "   -s,--no-sids           don't print SIDs in pwd field\n"); | ||||
|   fprintf (stream, "                          (this affects ntsec)\n"); | ||||
|   fprintf (stream, "   -u,--users             print user list in gr_mem field\n"); | ||||
|   fprintf (stream, "   -h,--help              print this message\n\n"); | ||||
|   fprintf (stream, "   -v,--version           print version information and exit\n\n"); | ||||
|   fprintf (stream, "One of `-l' or `-d' must be given on NT/W2K.\n"); | ||||
|   return status; | ||||
| } | ||||
|  | ||||
| struct option longopts[] = { | ||||
| @@ -428,10 +431,32 @@ struct option longopts[] = { | ||||
|   {"no-sids", no_argument, NULL, 's'}, | ||||
|   {"users", no_argument, NULL, 'u'}, | ||||
|   {"help", no_argument, NULL, 'h'}, | ||||
|   {"version", no_argument, NULL, 'v'}, | ||||
|   {0, no_argument, NULL, 0} | ||||
| }; | ||||
|  | ||||
| char opts[] = "ldo:suh"; | ||||
| char opts[] = "ldo:suhv"; | ||||
|  | ||||
| print_version () | ||||
| { | ||||
|   const char *v = strchr (version, ':'); | ||||
|   int len; | ||||
|   if (!v) | ||||
|     { | ||||
|       v = "?"; | ||||
|       len = 1; | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       v += 2; | ||||
|       len = strchr (v, ' ') - v; | ||||
|     } | ||||
|   printf ("\ | ||||
| mkgroup (cygwin) %.*s\n\ | ||||
| group File Generator\n\ | ||||
| Copyright 1997, 1998, 2002 Red Hat, Inc.\n\ | ||||
| Compiled on %s", len, v, __DATE__); | ||||
| } | ||||
|  | ||||
| int | ||||
| main (int argc, char **argv) | ||||
| @@ -461,7 +486,7 @@ main (int argc, char **argv) | ||||
|   if (GetVersion () < 0x80000000) | ||||
|     { | ||||
|       if (argc == 1) | ||||
| 	return usage (); | ||||
| 	return usage(stderr, 1); | ||||
|       else | ||||
| 	{ | ||||
| 	  while ((i = getopt_long (argc, argv, opts, longopts, NULL)) != EOF) | ||||
| @@ -483,7 +508,10 @@ main (int argc, char **argv) | ||||
| 		print_users = 1; | ||||
| 		break; | ||||
| 	      case 'h': | ||||
| 		return usage (); | ||||
| 		return usage (stdout, 0); | ||||
| 	      case 'v': | ||||
| 		print_version (); | ||||
| 		exit (0); | ||||
| 	      default: | ||||
| 		fprintf (stderr, "Try `%s --help' for more information.\n", argv[0]); | ||||
| 		return 1; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user