]> granicus.if.org Git - php/commitdiff
Merge branch 'master' of github.com:krakjoe/phpdbg
authorFelipe Pena <felipensp@gmail.com>
Sun, 10 Nov 2013 21:39:07 +0000 (19:39 -0200)
committerFelipe Pena <felipensp@gmail.com>
Sun, 10 Nov 2013 21:39:07 +0000 (19:39 -0200)
1  2 
phpdbg.c
phpdbg_prompt.c

diff --cc phpdbg.c
Simple merge
diff --cc phpdbg_prompt.c
index d064d2dd378f46b39810dd2adf5182311dd7aabd,684e88c64b5600c327e0c377fc3964854c963bfc..de28d8f559b435f6ad7433fb30edfed72ba0c45f
@@@ -381,23 -390,23 +389,23 @@@ zend_vm_enter
                        }
                }
  
-         if (PHPDBG_G(has_sym_bp)) {
+         if (PHPDBG_G(has_sym_bp) && execute_data->opline->opcode != ZEND_RETURN) {
              zend_execute_data *previous = execute_data->prev_execute_data;
 -            if (previous && (previous != execute_data)) {
 -                if (previous->opline) {
 -                    if (previous->opline->opcode == ZEND_DO_FCALL || previous->opline->opcode == ZEND_DO_FCALL_BY_NAME) {
 -                        if (phpdbg_find_breakpoint_symbol(previous->function_state.function TSRMLS_CC) == SUCCESS) {
 -                            while (phpdbg_interactive(0, NULL TSRMLS_CC) != PHPDBG_NEXT) {
 -                                              continue;
 -                                      }
 -                        }
 -                    }
 -                }
 -            }
 +            if (previous && previous != execute_data && previous->opline) {
 +                              if (previous->opline->opcode == ZEND_DO_FCALL
 +                                      || previous->opline->opcode == ZEND_DO_FCALL_BY_NAME) {
 +                                      if (phpdbg_find_breakpoint_symbol(
 +                                              previous->function_state.function TSRMLS_CC) == SUCCESS) {
 +                                              while (phpdbg_interactive(0, NULL TSRMLS_CC) != PHPDBG_NEXT) {
 +                                                      continue;
 +                                              }
 +                                      }
 +                              }
 +                      }
          }
 -              
 +
                PHPDBG_G(vmret) = execute_data->opline->handler(execute_data TSRMLS_CC);
 -              
 +
                phpdbg_print_opline(
                    execute_data TSRMLS_CC);