diff options
Diffstat (limited to 'include/getopt.h')
-rw-r--r-- | include/getopt.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/include/getopt.h b/include/getopt.h index 6f42f80..7dfb6e6 100644 --- a/include/getopt.h +++ b/include/getopt.h @@ -70,15 +70,6 @@ extern int opterr; one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ -/* Names for the values of the `has_arg' field of `struct option'. */ - -enum _argtype -{ - no_argument, - required_argument, - optional_argument -}; - struct option { #if __STDC__ @@ -88,11 +79,26 @@ struct option #endif /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ - enum _argtype has_arg; + int has_arg; int *flag; int val; }; +/* Names for the values of the `has_arg' field of `struct option'. + We wouldn't mind doing this: + enum _argtype + { + no_argument, + required_argument, + optional_argument + }; + ...if we could also change the "int has_arg" above. For now, use + defines. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + #if __STDC__ extern int getopt (int argc, char *const *argv, const char *shortopts); extern int getopt_long (int argc, char *const *argv, const char *shortopts, |