]> granicus.if.org Git - php/commitdiff
make it possible to show specific help pages without interactive session
authorJoe Watkins <krakjoe@php.net>
Sun, 20 Nov 2016 05:24:14 +0000 (05:24 +0000)
committerJoe Watkins <krakjoe@php.net>
Sun, 20 Nov 2016 05:24:14 +0000 (05:24 +0000)
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_help.h

index d2de0c2e3002d722c0069d60540c78bb665486b6..2c43a9c8538b9c4cc1eb17ed2629c962d83bc611 100644 (file)
@@ -1658,7 +1658,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",
index ce1d8d9e90acf47dd714e6633b80c7b91e286134..2207e6a6454d5f5f019169786b586798f0ba64e1 100644 (file)
@@ -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;
index 7473684d3fe16bf78ec4d3173e3989a228401501..d44eca15ee81c8e062fe541d2f55338a1acf6f3d 100644 (file)
@@ -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 */