Mercurial > hg > toybox
changeset 938:812e8c5d026f
Add config option for --help support in all commands.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 30 Jun 2013 15:58:24 -0500 |
parents | 871c68a35e95 |
children | b58e86e366ab |
files | Config.in main.c |
diffstat | 2 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Config.in Sun Jun 30 01:26:56 2013 -0500 +++ b/Config.in Sun Jun 30 15:58:24 2013 -0500 @@ -41,6 +41,14 @@ help Include help text for each command. +config TOYBOX_HELP_DASHDASH + bool "--help" + default y + depends on TOYBOX_HELP + help + Support --help argument in all commands, even ones with a NULL + optstring. Produces the same output as "help command". + config TOYBOX_I18N bool "Internationalization support" default y
--- a/main.c Sun Jun 30 01:26:56 2013 -0500 +++ b/main.c Sun Jun 30 15:58:24 2013 -0500 @@ -84,6 +84,12 @@ toys.which = which; toys.argv = argv; + + if (CFG_TOYBOX_HELP_DASHDASH && argv[1] && !strcmp(argv[1], "--help")) { + show_help(); + xexit(); + } + if (NEED_OPTIONS && which->options) get_optflags(); else { toys.optargs = argv+1; @@ -103,7 +109,7 @@ toy_init(which, argv); toys.which->toy_main(); if (fflush(NULL) || ferror(stdout)) perror_exit("write"); - exit(toys.exitval); + xexit(); } // Multiplexer command, first argument is command to run, rest are args to that. @@ -116,7 +122,7 @@ toys.which = toy_list; if (toys.argv[1]) { - if (CFG_TOYBOX_HELP && !strcmp(toys.argv[1], "--help")) { + if (CFG_TOYBOX_HELP_DASHDASH && !strcmp(toys.argv[1], "--help")) { if (toys.argv[2]) toys.which = toy_find(toys.argv[2]); if (toys.which) { show_help();