From 6a1b4c99c72c586757248beae059833981e7f7fc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Johannes=20Schl=C3=BCter?= Date: Mon, 11 Sep 2006 17:08:42 +0000 Subject: [PATCH] - MFH: Fix #37923 (Display constant value in reflection::export) --- NEWS | 1 + ext/reflection/php_reflection.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 647c082f45..e64480161c 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ (php_lists at realplain dot com, Ilia) - Fixed bug #38096 (large timeout values ignored on 32bit machines in stream_socket_accept() and stream_socket_client()). (Ilia) +- Fixed bug #37923 (Display constant value in reflection::export). (Johannes) 31 Aug 2006, PHP 5.2.0RC3 - Updated PCRE to version 6.7. (Ilia) diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 483246a8cb..bd63658c8b 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -537,10 +537,23 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in /* {{{ _const_string */ static void _const_string(string *str, char *name, zval *value, char *indent TSRMLS_DC) { - string_printf(str, "%s Constant [ %s %s ] { }\n", + zval value_copy; + int use_copy; + + zend_make_printable_zval(value, &value_copy, &use_copy); + if (use_copy) { + value = &value_copy; + } + + string_printf(str, "%s Constant [ %s %s ] { %s }\n", indent, zend_zval_type_name(value), - name); + name, + Z_STRVAL_P(value)); + + if (use_copy) { + zval_dtor(value); + } } /* }}} */ -- 2.50.1