comparison lib/long-options.h @ 40198:5a34193cbc07

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.
author Bernhard Voelker <mail@bernhard-voelker.de>
date Thu, 29 Nov 2018 09:06:26 +0100
parents b06060465f09
children
comparison
equal deleted inserted replaced
40197:91454190d749 40198:5a34193cbc07
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */
17 17
18 /* Written by Jim Meyering. */ 18 /* Written by Jim Meyering. */
19 19
20 #ifndef LONG_OPTIONS_H_
21 # define LONG_OPTIONS_H_ 1
22
23 # include <stdbool.h>
24
20 void parse_long_options (int _argc, 25 void parse_long_options (int _argc,
21 char **_argv, 26 char **_argv,
22 const char *_command_name, 27 const char *_command_name,
23 const char *_package, 28 const char *_package,
24 const char *_version, 29 const char *_version,
25 void (*_usage) (int), 30 void (*_usage) (int),
26 /* const char *author1, ...*/ ...); 31 /* const char *author1, ...*/ ...);
32
33 void parse_gnu_standard_options_only (int argc,
34 char **argv,
35 const char *command_name,
36 const char *package,
37 const char *version,
38 bool scan_all,
39 void (*usage_func) (int),
40 /* const char *author1, ...*/ ...);
41
42 #endif /* LONG_OPTIONS_H_ */