From: krakjoe Date: Wed, 20 Nov 2013 14:25:15 +0000 (+0000) Subject: fix eval for new input handling X-Git-Tag: php-5.6.0alpha1~110^2~176 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e71766273077cff6bb8836a37e0d199f4564c612;p=php fix eval for new input handling --- diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c index 10fb60a900..c69c056754 100644 --- a/phpdbg_prompt.c +++ b/phpdbg_prompt.c @@ -514,12 +514,26 @@ static PHPDBG_COMMAND(eval) /* {{{ */ case STR_PARAM: { zend_bool stepping = (PHPDBG_G(flags) & PHPDBG_IS_STEPPING); zval retval; - + char *code = NULL; + PHPDBG_G(flags) &= ~ PHPDBG_IS_STEPPING; + if (input && input->start) { + code = (char*) input->start; + + if (memcmp( + code, "eval", sizeof("eval")-1) == SUCCESS) { + code += sizeof("eval")-1; + } else code += sizeof("E")-1; + + while (code && isspace(*code)) { + code++; + } + } else code = param->str; + /* disable stepping while eval() in progress */ PHPDBG_G(flags) |= PHPDBG_IN_EVAL; - if (zend_eval_stringl(param->str, param->len, + if (zend_eval_stringl(code, strlen(code), &retval, "eval()'d code" TSRMLS_CC) == SUCCESS) { zend_print_zval_r( &retval, 0 TSRMLS_CC);