com php-src: remove goto from zend_try/zend_end_try/zend _catch blocks: phpdbg.c phpdbg_prompt.c
| From: | Bob Weinand | Date: | Fri, 17 Jan 2014 21:08:35 +0000 |
| Subject: | com php-src: remove goto from zend_try/zend_end_try/zend _catch blocks: phpdbg.c phpdbg_prompt.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-75669@lists.php.net to get a copy of this message | ||
Commit: 54fa2883f0be3f4ac3e9faab77434e1833bbae5c
Author: krakjoe <joe.watkins@live.co.uk> Fri, 17 Jan 2014 21:08:35 +0000
Parents: 837bd24dea5c32dc186a1fe484c2c276e97e92e1
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=54fa2883f0be3f4ac3e9faab77434e1833bbae5c
Log:
remove goto from zend_try/zend_end_try/zend_catch blocks
Changed paths:
M phpdbg.c
M phpdbg_prompt.c
Diff:
diff --git a/phpdbg.c b/phpdbg.c
index 1e69e4b..8225a90 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -1202,17 +1202,17 @@ phpdbg_main:
} zend_end_try();
/* initialize from file */
+ PHPDBG_G(flags) |= PHPDBG_IS_INITIALIZING;
zend_try {
- PHPDBG_G(flags) |= PHPDBG_IS_INITIALIZING;
phpdbg_init(init_file, init_file_len, init_file_default TSRMLS_CC);
phpdbg_try_file_init(bp_tmp_file, strlen(bp_tmp_file), 0 TSRMLS_CC);
- PHPDBG_G(flags) &= ~PHPDBG_IS_INITIALIZING;
- } zend_catch {
- PHPDBG_G(flags) &= ~PHPDBG_IS_INITIALIZING;
- if (PHPDBG_G(flags) & PHPDBG_IS_QUITTING) {
- goto phpdbg_out;
- }
} zend_end_try();
+ PHPDBG_G(flags) &= ~PHPDBG_IS_INITIALIZING;
+
+ /* quit if init says so */
+ if (PHPDBG_G(flags) & PHPDBG_IS_QUITTING) {
+ goto phpdbg_out;
+ }
/* step from here, not through init */
if (step) {
@@ -1239,7 +1239,6 @@ phpdbg_interact:
phpdbg_export_breakpoints(bp_tmp_fp TSRMLS_CC);
fclose(bp_tmp_fp);
cleaning = 1;
- goto phpdbg_out;
} else {
cleaning = 0;
}
@@ -1265,11 +1264,8 @@ phpdbg_interact:
}
}
#endif
- if (PHPDBG_G(flags) & PHPDBG_IS_QUITTING) {
- goto phpdbg_out;
- }
} zend_end_try();
- } while(!(PHPDBG_G(flags) & PHPDBG_IS_QUITTING));
+ } while(!cleaning && !(PHPDBG_G(flags) & PHPDBG_IS_QUITTING));
/* this must be forced */
CG(unclean_shutdown) = 0;
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c
index f2f482b..6d199b0 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!");
}