From: Joe Watkins Date: Sun, 20 Nov 2016 05:24:14 +0000 (+0000) Subject: make it possible to show specific help pages without interactive session X-Git-Tag: php-7.1.0~3^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=56f9a93939a96f93210809e99fe1d4f536b56b2d;p=php make it possible to show specific help pages without interactive session --- diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index f570763ca0..2adca8e2c8 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -1695,7 +1695,7 @@ phpdbg_main: PHPDBG_G(io)[PHPDBG_STDOUT].ptr = stdout; PHPDBG_G(io)[PHPDBG_STDOUT].fd = fileno(stdout); if (show_help) { - phpdbg_do_help(NULL); + phpdbg_do_help_cmd(exec); } else if (show_version) { phpdbg_out( "phpdbg %s (built: %s %s)\nPHP %s, Copyright (c) 1997-2016 The PHP Group\n%s", diff --git a/sapi/phpdbg/phpdbg_help.c b/sapi/phpdbg/phpdbg_help.c index 0943a7ea2c..eb62d76d2e 100644 --- a/sapi/phpdbg/phpdbg_help.c +++ b/sapi/phpdbg/phpdbg_help.c @@ -209,6 +209,26 @@ static int get_command( } /* }}} */ +void phpdbg_do_help_cmd(char *type) { /* {{{ */ + char *help; + + if (!type) { + pretty_print(get_help("overview!")); + return; + } + + help = get_help(type); + + if (!help || memcmp(help, "", sizeof("")) == SUCCESS) { + pretty_print(get_help("overview!")); + pretty_print( + "\nrequested help page could not be found"); + return; + } + + pretty_print(help); +} /* }}} */ + PHPDBG_COMMAND(help) /* {{{ */ { phpdbg_command_t const *cmd; diff --git a/sapi/phpdbg/phpdbg_help.h b/sapi/phpdbg/phpdbg_help.h index 7473684d3f..d44eca15ee 100644 --- a/sapi/phpdbg/phpdbg_help.h +++ b/sapi/phpdbg/phpdbg_help.h @@ -45,4 +45,6 @@ typedef struct _phpdbg_help_text_t { } phpdbg_help_text_t; extern phpdbg_help_text_t phpdbg_help_text[]; + +extern void phpdbg_do_help_cmd(char *type); #endif /* PHPDBG_HELP_H */