From 54fa2883f0be3f4ac3e9faab77434e1833bbae5c Mon Sep 17 00:00:00 2001 From: krakjoe Date: Fri, 17 Jan 2014 21:08:35 +0000 Subject: remove goto from zend_try/zend_end_try/zend_catch blocks --- phpdbg_prompt.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'phpdbg_prompt.c') diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c index f2f482b7ec..6d199b0673 100644 --- a/phpdbg_prompt.c +++ b/phpdbg_prompt.c @@ -551,7 +551,8 @@ PHPDBG_COMMAND(run) /* {{{ */ zend_op **orig_opline = EG(opline_ptr); zend_op_array *orig_op_array = EG(active_op_array); zval **orig_retval_ptr = EG(return_value_ptr_ptr); - + zend_bool restore = 1; + if (!PHPDBG_G(ops)) { if (phpdbg_compile(TSRMLS_C) == FAILURE) { phpdbg_error("Failed to compile %s, cannot run", PHPDBG_G(exec)); @@ -586,18 +587,19 @@ PHPDBG_COMMAND(run) /* {{{ */ if (!(PHPDBG_G(flags) & PHPDBG_IS_QUITTING)) { phpdbg_error("Caught exit/error from VM"); - goto out; + restore = 0; } } zend_end_try(); - if (EG(exception)) { - phpdbg_handle_exception(TSRMLS_C); - } - - EG(active_op_array) = orig_op_array; - EG(opline_ptr) = orig_opline; - EG(return_value_ptr_ptr) = orig_retval_ptr; + if (restore) { + if (EG(exception)) { + phpdbg_handle_exception(TSRMLS_C); + } + EG(active_op_array) = orig_op_array; + EG(opline_ptr) = orig_opline; + EG(return_value_ptr_ptr) = orig_retval_ptr; + } } else { phpdbg_error("Nothing to execute!"); } -- cgit v1.2.1