Fixed in git
On Thu, Aug 25, 2022 at 7:26 AM Harald van Dijk <har...@gigawatt.nl> wrote: > > This breaks the [ command. Previously, [ --help would show help, which > is okay as an extension since it is not valid with the standard [ > command. This change makes [ --help ] also show help, when it is > required to just check that the string --help is not empty. > > On 22/08/2022 13:07, Denys Vlasenko wrote: > > Applied, thank you > > > > On Sun, May 1, 2022 at 10:46 AM Ron Yorston <r...@pobox.com> wrote: > >> > >> Running an applet with '--help' as its only argument is treated > >> as a special case. If additional arguments follow '--help' the > >> behaviour is inconsistent: > >> > >> - applets which call single_argv() print help and do nothing else; > >> > >> - applets which call getopt() report "unrecognized option '--help'" > >> and print help anyway; > >> > >> - expr says "expr: syntax error" and doesn't print help; > >> > >> - printenv silently ignores '--help', prints any other variables > >> and doesn't print help; > >> > >> - realpath says "--help: No such file or directory", prints the path > >> of any other files and doesn't print help. > >> > >> If the first argument is '--help' ignore any other arguments and print > >> help. This is more consistent and most likely what the user wanted. > >> > >> See also commit 6bdfbc4cb (libbb: fix '--help' handling in > >> FEATURE_SH_NOFORK=y). > >> > >> function old new delta > >> show_usage_if_dash_dash_help 75 69 -6 > >> ------------------------------------------------------------------------------ > >> (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-6) Total: -6 > >> bytes > >> > >> Signed-off-by: Ron Yorston <r...@pobox.com> > >> --- > >> libbb/appletlib.c | 5 ++--- > >> 1 file changed, 2 insertions(+), 3 deletions(-) > >> > >> diff --git a/libbb/appletlib.c b/libbb/appletlib.c > >> index 841b3b873..d56b5b409 100644 > >> --- a/libbb/appletlib.c > >> +++ b/libbb/appletlib.c > >> @@ -258,7 +258,6 @@ void lbb_prepare(const char *applet > >> /* Redundant for busybox (run_applet_and_exit covers that case) > >> * but needed for "individual applet" mode */ > >> if (argv[1] > >> - && !argv[2] > >> && strcmp(argv[1], "--help") == 0 > >> && !is_prefixed_with(applet, "busybox") > >> ) { > >> @@ -940,8 +939,8 @@ void FAST_FUNC show_usage_if_dash_dash_help(int > >> applet_no, char **argv) > >> && applet_no != APPLET_NO_echo > >> # endif > >> ) { > >> - if (argv[1] && !argv[2] && strcmp(argv[1], "--help") == 0) > >> { > >> - /* Make "foo --help" exit with 0: */ > >> + if (argv[1] && strcmp(argv[1], "--help") == 0) { > >> + /* Make "foo --help [...]" exit with 0: */ > >> xfunc_error_retval = 0; > >> bb_show_usage(); > >> } > >> -- > >> 2.35.1 > >> > >> _______________________________________________ > >> busybox mailing list > >> busybox@busybox.net > >> http://lists.busybox.net/mailman/listinfo/busybox > > _______________________________________________ > > busybox mailing list > > busybox@busybox.net > > http://lists.busybox.net/mailman/listinfo/busybox > > _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox