]> granicus.if.org Git - php/commitdiff
- Added variadic support to prototype dumping
authorFelipe Pena <felipensp@gmail.com>
Sun, 8 Dec 2013 20:04:39 +0000 (18:04 -0200)
committerFelipe Pena <felipensp@gmail.com>
Sun, 8 Dec 2013 20:04:39 +0000 (18:04 -0200)
phpdbg_frame.c

index 88e2824ea9108125bfffedf7d5c15f973bdde8a7..5414242e3e8eafc31e168c32f193e105704ebb7d 100644 (file)
@@ -134,22 +134,29 @@ static void phpdbg_dump_prototype(zval **tmp TSRMLS_DC) /* {{{ */
                        Z_STRVAL_PP(funcname), is_class == FAILURE ? NULL : Z_STRVAL_PP(class) TSRMLS_CC);
                const zend_arg_info *arginfo = func ? func->common.arg_info : NULL;
                int j = 0, m = func ? func->common.num_args : 0;
+               zend_bool is_variadic = 0;
 
                zend_hash_internal_pointer_reset_ex(Z_ARRVAL_PP(args), &iterator);
                while (zend_hash_get_current_data_ex(Z_ARRVAL_PP(args),
                        (void **) &argstmp, &iterator) == SUCCESS) {
-
                        if (j) {
                                phpdbg_write(", ");
                        }
                        if (m && j < m) {
-                               phpdbg_write("%s=", arginfo[j].name);
+#if PHP_VERSION_ID >= 50600
+                               is_variadic = arginfo[j].is_variadic;
+#endif
+                               phpdbg_write("%s=%s",
+                                       arginfo[j].name, is_variadic ? "[": "");
                        }
                        ++j;
 
                        zend_print_flat_zval_r(*argstmp TSRMLS_CC);
                        zend_hash_move_forward_ex(Z_ARRVAL_PP(args), &iterator);
                }
+               if (is_variadic) {
+                       phpdbg_write("]");
+               }
        }
        phpdbg_write(")");
 }