]> granicus.if.org Git - php/commitdiff
Shrink phpdbg opcode dump output a bit more
authorBob Weinand <bobwei9@hotmail.com>
Mon, 20 Apr 2015 18:58:52 +0000 (20:58 +0200)
committerBob Weinand <bobwei9@hotmail.com>
Mon, 20 Apr 2015 18:59:13 +0000 (20:59 +0200)
sapi/phpdbg/phpdbg_opcode.c
sapi/phpdbg/phpdbg_print.c

index 9622fd661b85fc86d5fbdac774a0d9884ffaf9cb..654bd6288f066a26c7812410d6d364b708926180 100644 (file)
 
 ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
 
-static inline uint32_t phpdbg_decode_literal(zend_op_array *ops, zval *literal) /* {{{ */
-{
-       int iter = 0;
-
-       while (iter < ops->last_literal) {
-               if (literal == &ops->literals[iter]) {
-                       return iter;
-               }
-               iter++;
-       }
-
-       return 0;
-} /* }}} */
-
 static inline char *phpdbg_decode_op(zend_op_array *ops, znode_op *op, uint32_t type, HashTable *vars) /* {{{ */
 {
        char *decode = NULL;
 
        switch (type &~ EXT_TYPE_UNUSED) {
-               case IS_CV:
-                       asprintf(&decode, "$%s", ops->vars[EX_VAR_TO_NUM(op->var)]->val);
-               break;
+               case IS_CV: {
+                       zend_string *var = ops->vars[EX_VAR_TO_NUM(op->var)];
+                       asprintf(&decode, "$%.*s%c", var->len <= 19 ? (int) var->len : 18, var->val, var->len <= 19 ? 0 : '+');
+               } break;
 
                case IS_VAR:
                case IS_TMP_VAR: {
index ffd22859af58dbd675cfb4d78f35838e110a2230..c1cea6ede0fd2960623ab5803e124101c6a090ed 100644 (file)
@@ -85,10 +85,10 @@ static inline void phpdbg_print_function_helper(zend_function *method) /* {{{ */
                                do {
                                        char *decode = phpdbg_decode_opline(op_array, opline, &vars);
                                        if (decode != NULL) {
-                                               phpdbg_writeln("print", "line=\"%u\" opnum=\"%u\" opcode=\"%s\" op=\"%s\"", " L%-5u #%-5u %-36s %s",
+                                               phpdbg_writeln("print", "line=\"%u\" opnum=\"%u\" opcode=\"%s\" op=\"%s\"", " L%-4u #%-5u %-23s %s",
                                                        opline->lineno,
                                                        opcode,
-                                                       phpdbg_decode_opcode(opline->opcode),
+                                                       phpdbg_decode_opcode(opline->opcode) + 5, /* remove ZEND_ prefix */
                                                        decode);
                                                free(decode);
                                        } else {