From d5388bac793994d6eb264c8973f16516c0a0ab8e Mon Sep 17 00:00:00 2001 From: krakjoe Date: Wed, 20 Nov 2013 13:43:58 +0000 Subject: [PATCH] fix shell command to use new input --- phpdbg_prompt.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) 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; -- 2.50.1