]> granicus.if.org Git - php/commitdiff
- Added PHPDBG_BP_MASK macro
authorFelipe Pena <felipensp@gmail.com>
Tue, 12 Nov 2013 01:41:14 +0000 (23:41 -0200)
committerFelipe Pena <felipensp@gmail.com>
Tue, 12 Nov 2013 01:41:14 +0000 (23:41 -0200)
phpdbg.h
phpdbg_bp.c

index 457d682ce67455191a5baecc73ce64b22555b11a..2e392e9dbb1b482d82c39c9c8981d5d1eb4c6ea3 100644 (file)
--- a/phpdbg.h
+++ b/phpdbg.h
@@ -50,6 +50,7 @@
 #define PHPDBG_HAS_SYM_BP       0x00000010
 #define PHPDBG_HAS_OPLINE_BP    0x00000100
 #define PHPDBG_HAS_METHOD_BP    0x00001000
+#define PHPDBG_BP_MASK (PHPDBG_HAS_FILE_BP|PHPDBG_HAS_SYM_BP|PHPDBG_HAS_METHOD_BP|PHPDBG_HAS_OPLINE_BP)
 
 #define PHPDBG_IS_STEPPING      0x00010000
 #define PHPDBG_IS_QUIET         0x00100000
index e1138193d302ba391962359f63c7e12c885418f4..d147d59e515e95446d6c5f35a037d6bdae7c3a7f 100644 (file)
@@ -36,7 +36,7 @@ static void phpdbg_llist_breakfile_dtor(void *data) /* {{{ */
 static void phpdbg_class_breaks_dtor(void *data) /* {{{ */
 {
     phpdbg_breakmethod_t *bp = (phpdbg_breakmethod_t*) data;
-    
+
     efree((char*)bp->class_name);
     efree((char*)bp->func_name);
 } /* }}} */
@@ -92,33 +92,33 @@ void phpdbg_set_breakpoint_symbol(const char *name TSRMLS_DC) /* {{{ */
        }
 } /* }}} */
 
-void phpdbg_set_breakpoint_method(const char* class_name, 
+void phpdbg_set_breakpoint_method(const char* class_name,
                                   size_t class_len,
-                                  const char* func_name, 
+                                  const char* func_name,
                                   size_t func_len TSRMLS_DC) /* {{{ */
 {
     HashTable class_breaks, *class_table;
-    
+
     if (zend_hash_find(&PHPDBG_G(bp_methods), class_name, class_len, (void**)&class_table) != SUCCESS) {
         zend_hash_init(
             &class_breaks, 8, NULL, phpdbg_class_breaks_dtor, 0);
         zend_hash_update(
-            &PHPDBG_G(bp_methods), 
-            class_name, class_len, 
+            &PHPDBG_G(bp_methods),
+            class_name, class_len,
             (void**)&class_breaks, sizeof(HashTable), (void**)&class_table);
     }
 
     if (!zend_hash_exists(class_table, func_name, func_len)) {
         phpdbg_breakmethod_t new_break;
-        
+
         PHPDBG_G(flags) |= PHPDBG_HAS_METHOD_BP;
-        
+
         new_break.class_name = class_name;
         new_break.class_len = class_len;
         new_break.func_name = func_name;
         new_break.func_len = func_len;
         new_break.id = PHPDBG_G(bp_count)++;
-                
+
         zend_hash_update(class_table, func_name, func_len, &new_break, sizeof(phpdbg_breakmethod_t), NULL);
         printf(
             "[Breakpoint #%d added at %s::%s]\n", new_break.id, class_name, func_name);
@@ -200,9 +200,9 @@ int phpdbg_find_breakpoint_symbol(zend_function *fbc TSRMLS_DC) /* {{{ */
        if (fbc->type != ZEND_USER_FUNCTION) {
                return FAILURE;
        }
-       
+
        ops = (zend_op_array*)fbc;
-       
+
        if (ops->scope) {
            /* find method breaks here */
            return phpdbg_find_breakpoint_method(
@@ -231,13 +231,13 @@ int phpdbg_find_breakpoint_method(zend_op_array *ops TSRMLS_DC) /* {{{ */
        HashTable *class_table;
        phpdbg_breakmethod_t *bp;
 
-       if (zend_hash_find(&PHPDBG_G(bp_methods), ops->scope->name, ops->scope->name_length, 
+       if (zend_hash_find(&PHPDBG_G(bp_methods), ops->scope->name, ops->scope->name_length,
                (void**)&class_table) == SUCCESS) {
                if (zend_hash_find(
                        class_table,
-                       ops->function_name, 
+                       ops->function_name,
                        strlen(ops->function_name), (void**)&bp) == SUCCESS) {
-                       
+
                    printf(
                        "[Breakpoint #%d in %s::%s() at %s:%u]\n", bp->id, bp->class_name, bp->func_name,
                            zend_get_executed_filename(TSRMLS_C),
@@ -271,8 +271,8 @@ void phpdbg_clear_breakpoints(TSRMLS_D) /* {{{ */
     zend_hash_clean(&PHPDBG_G(bp_symbols));
     zend_hash_clean(&PHPDBG_G(bp_oplines));
     zend_hash_clean(&PHPDBG_G(bp_methods));
-    
-    PHPDBG_G(flags) &= ~(PHPDBG_HAS_FILE_BP|PHPDBG_HAS_SYM_BP|PHPDBG_HAS_METHOD_BP|PHPDBG_HAS_OPLINE_BP);
+
+    PHPDBG_G(flags) &= ~PHPDBG_BP_MASK;
     PHPDBG_G(bp_count) = 0;
 } /* }}} */