Commit:    e7e3dbccbf6e4acfa2baa5de5b75aaa024e91731
Author:    krakjoe <joe.watk...@live.co.uk>         Mon, 18 Nov 2013 12:46:10 
+0000
Parents:   81e1f70e52d5f8d5ebf1323b1a328240b3c00ecc
Branches:  PHP-5.6

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=e7e3dbccbf6e4acfa2baa5de5b75aaa024e91731

Log:
shell command

Changed paths:
  M  phpdbg_prompt.c


Diff:
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index a0f93a1..687dcb0 100644
--- a/phpdbg_prompt.c
+++ b/phpdbg_prompt.c
@@ -53,6 +53,7 @@ static PHPDBG_COMMAND(clear);
 static PHPDBG_COMMAND(help);
 static PHPDBG_COMMAND(quiet);
 static PHPDBG_COMMAND(aliases);
+static PHPDBG_COMMAND(shell);
 static PHPDBG_COMMAND(oplog);
 static PHPDBG_COMMAND(quit); /* }}} */
 
@@ -78,6 +79,7 @@ static const phpdbg_command_t phpdbg_prompt_commands[] = {
        PHPDBG_COMMAND_D(quiet,   "silence some output",                      
'Q', NULL, 1),
        PHPDBG_COMMAND_D(aliases, "show alias list",                          
'a', NULL, 0),
        PHPDBG_COMMAND_D(oplog,   "sets oplog output",                        
'O', NULL, 1),
+       PHPDBG_COMMAND_D(shell,   "shell a command",                          
'-', NULL, 1),
        PHPDBG_COMMAND_D(quit,    "exit phpdbg",                              
'q', NULL, 0),
        PHPDBG_END_COMMAND
 }; /* }}} */
@@ -617,6 +619,26 @@ static PHPDBG_COMMAND(break) /* {{{ */
        return SUCCESS;
 } /* }}} */
 
+static PHPDBG_COMMAND(shell)
+{
+       /* don't allow this to loop, ever ... */
+       switch (param->type) {
+               case STR_PARAM: {
+                       FILE *fd = VCWD_POPEN(param->str, "w");
+                       if (fd) {
+                               /* do something perhaps ?? do we want input ?? 
*/
+                               fclose(fd);
+                       } else {
+                               phpdbg_error(
+                                       "Failed to execute %s", param->str);
+                       }
+               } break;
+               
+               phpdbg_default_switch_case();
+       }
+       return SUCCESS;
+}
+
 static PHPDBG_COMMAND(quit) /* {{{ */
 {
     /* don't allow this to loop, ever ... */


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to