summaryrefslogtreecommitdiff
path: root/lib/long-options.h
diff options
context:
space:
mode:
authorBernhard Voelker <mail@bernhard-voelker.de>2018-11-29 09:06:26 +0100
committerPádraig Brady <P@draigBrady.com>2019-02-23 18:54:00 -0800
commite3970fb9891668bd9dbc94daca18dc0d42b7e466 (patch)
treece1dae210e1859be059e7b9fa389aefa5a067445 /lib/long-options.h
parentcc42b8c933642d1f4e596eda73435ac76b5a8f47 (diff)
downloadgnulib-e3970fb9891668bd9dbc94daca18dc0d42b7e466.tar.gz
long-options: add parse_gnu_standard_options_only
Discussed in https://bugs.gnu.org/33468 . * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0. (parse_gnu_standard_options_only): Add function to process the GNU default options --help and --version and fail for any other unknown long or short option. See https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html . * lib/long-options.h (parse_gnu_standard_options_only): Declare it. * modules/long-options (depends-on): Add stdbool, exitfail. * top/maint.mk (sc_prohibit_long_options_without_use): Update syntax-check rule, add new function name.
Diffstat (limited to 'lib/long-options.h')
-rw-r--r--lib/long-options.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/long-options.h b/lib/long-options.h
index f4d6a83d57..13f17eccc2 100644
--- a/lib/long-options.h
+++ b/lib/long-options.h
@@ -17,6 +17,11 @@
/* Written by Jim Meyering. */
+#ifndef LONG_OPTIONS_H_
+# define LONG_OPTIONS_H_ 1
+
+# include <stdbool.h>
+
void parse_long_options (int _argc,
char **_argv,
const char *_command_name,
@@ -24,3 +29,14 @@ void parse_long_options (int _argc,
const char *_version,
void (*_usage) (int),
/* const char *author1, ...*/ ...);
+
+void parse_gnu_standard_options_only (int argc,
+ char **argv,
+ const char *command_name,
+ const char *package,
+ const char *version,
+ bool scan_all,
+ void (*usage_func) (int),
+ /* const char *author1, ...*/ ...);
+
+#endif /* LONG_OPTIONS_H_ */