From: krakjoe Date: Wed, 20 Nov 2013 13:43:58 +0000 (+0000) Subject: fix shell command to use new input X-Git-Tag: php-5.6.0alpha1~110^2~181 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d5388bac793994d6eb264c8973f16516c0a0ab8e;p=php fix shell command to use new input --- diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c index 7eeefa110f..2c931a4460 100644 --- a/phpdbg_prompt.c +++ b/phpdbg_prompt.c @@ -663,13 +663,29 @@ 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) { + FILE *fd = NULL; + char * program = NULL; + + /* we expect an input, I hope we get one ! */ + if (input && input->start) { + program = (char*) input->start; + + if (memcmp( + program, "shell", sizeof("shell")-1) == SUCCESS) { + program += sizeof("shell")-1; + } else program += sizeof("-")-1; + + while (program && isspace(*program)) { + program++; + } + } else program = param->str; + + if ((fd=VCWD_POPEN((char*)program, "w"))) { /* do something perhaps ?? do we want input ?? */ fclose(fd); } else { phpdbg_error( - "Failed to execute %s", param->str); + "Failed to execute %s", program); } } break;