diff --git a/src/ChangeLog b/src/ChangeLog index bc2d7573..9b5aa8a5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2003-10-08 Hrvoje Niksic <hniksic@xemacs.org> + + * getopt.c: Add definitions of getopt_long and getopt_long_only. + 2003-10-08 Hrvoje Niksic <hniksic@xemacs.org> * config.h.in: Renamed DEBUG to ENABLE_DEBUG. ENABLE_DEBUG is, I diff --git a/src/getopt.c b/src/getopt.c index d176d3e7..46cc07cc 100644 --- a/src/getopt.c +++ b/src/getopt.c @@ -974,6 +974,33 @@ getopt (argc, argv, optstring) 0); } +int +getopt_long (argc, argv, options, long_options, opt_index) + int argc; + char *const *argv; + const char *options; + const struct option *long_options; + int *opt_index; +{ + return _getopt_internal (argc, argv, options, long_options, opt_index, 0); +} + +/* Like getopt_long, but '-' as well as '--' can indicate a long option. + If an option that starts with '-' (not '--') doesn't match a long option, + but does match a short option, it is parsed as a short option + instead. */ + +int +getopt_long_only (argc, argv, options, long_options, opt_index) + int argc; + char *const *argv; + const char *options; + const struct option *long_options; + int *opt_index; +{ + return _getopt_internal (argc, argv, options, long_options, opt_index, 1); +} + #endif /* Not ELIDE_CODE. */ #ifdef TEST