diff options
Diffstat (limited to 'src/chown.c')
-rw-r--r-- | src/chown.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/chown.c b/src/chown.c index acae4206e..9fc30552a 100644 --- a/src/chown.c +++ b/src/chown.c @@ -107,15 +107,23 @@ static const char *groupname; of this file. This file must exist. */ static char *reference_file; +/* For long options that have no equivalent short option, use a + non-character as a pseudo short option, starting with CHAR_MAX + 1. */ +enum +{ + REFERENCE_FILE_OPTION = CHAR_MAX + 1, + DEREFERENCE_OPTION +}; + static struct option const long_options[] = { {"recursive", no_argument, 0, 'R'}, {"changes", no_argument, 0, 'c'}, - {"dereference", no_argument, 0, CHAR_MAX + 2}, + {"dereference", no_argument, 0, DEREFERENCE_OPTION}, {"no-dereference", no_argument, 0, 'h'}, {"quiet", no_argument, 0, 'f'}, {"silent", no_argument, 0, 'f'}, - {"reference", required_argument, 0, CHAR_MAX + 1}, + {"reference", required_argument, 0, REFERENCE_FILE_OPTION}, {"verbose", no_argument, 0, 'v'}, {GETOPT_HELP_OPTION_DECL}, {GETOPT_VERSION_OPTION_DECL}, @@ -339,10 +347,10 @@ main (int argc, char **argv) { case 0: break; - case CHAR_MAX + 1: + case REFERENCE_FILE_OPTION: reference_file = optarg; break; - case CHAR_MAX + 2: + case DEREFERENCE_OPTION: change_symlinks = 0; break; case 'R': |