rendered paste body--- assert.c.old 2007-01-01 11:31:10.000000000 +0000
+++ assert.c 2007-01-15 15:24:11.906250000 +0000
@@ -76,6 +76,14 @@
return SUCCESS;
}
+static void set_callback(TSRMLS_D)
+{
+ if (!ASSERTG(callback) && ASSERTG(cb)) {
+ MAKE_STD_ZVAL(ASSERTG(callback));
+ ZVAL_STRING(ASSERTG(callback), ASSERTG(cb), 1);
+ }
+}
+
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("assert.active", "1", PHP_INI_ALL, OnUpdateLong, active, zend_assert_globals, assert_globals)
STD_PHP_INI_ENTRY("assert.bail", "0", PHP_INI_ALL, OnUpdateLong, bail, zend_assert_globals, assert_globals)
@@ -187,10 +195,7 @@
RETURN_TRUE;
}
- if (!ASSERTG(callback) && ASSERTG(cb)) {
- MAKE_STD_ZVAL(ASSERTG(callback));
- ZVAL_STRING(ASSERTG(callback), ASSERTG(cb), 1);
- }
+ set_callback(TSRMLS_C);
if (ASSERTG(callback)) {
zval *args[3];
@@ -286,6 +291,14 @@
break;
case ASSERT_CALLBACK:
+ set_callback(TSRMLS_C);
+
+ if (ASSERTG(callback) != NULL) {
+ RETVAL_ZVAL(ASSERTG(callback), 1, 0);
+ } else {
+ RETVAL_NULL();
+ }
+
if (ac == 2) {
if (ASSERTG(callback)) {
zval_ptr_dtor(&ASSERTG(callback));
@@ -293,7 +306,7 @@
ASSERTG(callback) = *value;
zval_add_ref(value);
}
- RETURN_TRUE;
+ return;
break;
default: