diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-10-10 14:57:48 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-10-10 14:57:48 +0000 |
commit | 92b499acff8a35d64ec0f9b27b5df06209656ca9 (patch) | |
tree | 028b13e0eb9c8522daa2a868f0593a76d32e5adb /winsup/utils/setfacl.c | |
parent | 4fc8a5c90acb2501178613b04bca32492953884a (diff) | |
download | newlib-92b499acff8a35d64ec0f9b27b5df06209656ca9.zip newlib-92b499acff8a35d64ec0f9b27b5df06209656ca9.tar.gz newlib-92b499acff8a35d64ec0f9b27b5df06209656ca9.tar.bz2 |
* Align usage output, version output, as well as usage and version
option handling to use the same style throughout all Cygwin utils.
Throughout use program_invocation_short_name to refer to current
process name in Cygwin executables.
* utils.sgml: Align documentation to above change. Add missing
sections for getconf, ldd, and setmetamode.
* strace.cc (proc_child): Avoid compiler warning.
Diffstat (limited to 'winsup/utils/setfacl.c')
-rw-r--r-- | winsup/utils/setfacl.c | 55 |
1 files changed, 21 insertions, 34 deletions
diff --git a/winsup/utils/setfacl.c b/winsup/utils/setfacl.c index d9d645d..857be79 100644 --- a/winsup/utils/setfacl.c +++ b/winsup/utils/setfacl.c @@ -10,6 +10,7 @@ This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ +#include <errno.h> #include <stdio.h> #include <ctype.h> #include <string.h> @@ -20,6 +21,7 @@ details. */ #include <grp.h> #include <sys/types.h> #include <sys/acl.h> +#include <cygwin/version.h> #ifndef BOOL #define BOOL int @@ -37,7 +39,6 @@ details. */ #define ILLEGAL_MODE ((mode_t)0xffffffff) #endif -static const char version[] = "$Revision$"; static char *prog_name; typedef enum { @@ -291,6 +292,7 @@ usage (FILE * stream) fprintf (stream, "" "Usage: %s [-r] (-f ACL_FILE | -s acl_entries) FILE...\n" " %s [-r] ([-d acl_entries] [-m acl_entries]) FILE...\n" + "\n" "Modify file and directory access control lists (ACLs)\n" "\n" " -d, --delete delete one or more specified ACL entries\n" @@ -302,11 +304,10 @@ usage (FILE * stream) " -s, --substitute substitute specified ACL entries for the\n" " ACL of FILE\n" " -h, --help output usage information and exit\n" - " -v, --version output version information and exit\n" + " -V, --version output version information and exit\n" "\n" "At least one of (-d, -f, -m, -s) must be specified\n" - "\n" - "", prog_name, prog_name); + "\n", prog_name, prog_name); if (stream == stdout) { printf("" @@ -387,7 +388,7 @@ usage (FILE * stream) "permissions according to the combination of the current umask,\n" "the explicit permissions requested and the default ACL entries\n" "Note: Under Cygwin, the default ACL entries are not taken into\n" - "account currently.\n", prog_name); + "account currently.\n\n", prog_name); } else fprintf(stream, "Try '%s --help' for more information.\n", prog_name); @@ -400,31 +401,23 @@ struct option longopts[] = { {"replace", no_argument, NULL, 'r'}, {"substitute", required_argument, NULL, 's'}, {"help", no_argument, NULL, 'h'}, - {"version", no_argument, NULL, 'v'}, + {"version", no_argument, NULL, 'V'}, {0, no_argument, NULL, 0} }; +const char *opts = "d:f:hm:rs:V"; static void print_version () { - const char *v = strchr (version, ':'); - int len; - if (!v) - { - v = "?"; - len = 1; - } - else - { - v += 2; - len = strchr (v, ' ') - v; - } - printf ("\ -setfacl (cygwin) %.*s\n\ -ACL Modification Utility\n\ -Copyright 2000, 2001, 2002 Red Hat, Inc.\n\ -Compiled on %s\n\ -", len, v, __DATE__); + printf ("setfacl (cygwin) %d.%d.%d\n" + "POSIX ACL modification utility\n" + "Copyright (C) 2000 - %s Red Hat, Inc.\n" + "This is free software; see the source for copying conditions. There is NO\n" + "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n", + CYGWIN_VERSION_DLL_MAJOR / 1000, + CYGWIN_VERSION_DLL_MAJOR % 1000, + CYGWIN_VERSION_DLL_MINOR, + strrchr (__DATE__, ' ') + 1); } int @@ -437,16 +430,10 @@ main (int argc, char **argv) int aclidx = 0; int ret = 0; - prog_name = strrchr (argv[0], '/'); - if (prog_name == NULL) - prog_name = strrchr (argv[0], '\\'); - if (prog_name == NULL) - prog_name = argv[0]; - else - prog_name++; + prog_name = program_invocation_short_name; memset (acls, 0, sizeof acls); - while ((c = getopt_long (argc, argv, "d:f:hm:rs:v", longopts, NULL)) != EOF) + while ((c = getopt_long (argc, argv, opts, longopts, NULL)) != EOF) switch (c) { case 'd': @@ -521,11 +508,11 @@ main (int argc, char **argv) return 2; } break; - case 'v': + case 'V': print_version (); return 0; default: - usage (stderr); + fprintf (stderr, "Try `%s --help' for more information.\n", prog_name); return 1; } if (action == NoAction) |