diff options
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r-- | ext/standard/basic_functions.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index fdddcb1b63..afa41e7209 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -5392,6 +5392,10 @@ static int user_tick_function_compare(user_tick_function_entry * tick_fe1, user_ zval result; zend_compare_arrays(&result, func1, func2 TSRMLS_CC); ret = (Z_LVAL(result) == 0); + } else if (Z_TYPE_P(func1) == IS_OBJECT && Z_TYPE_P(func2) == IS_OBJECT) { + zval result; + zend_compare_objects(&result, func1, func2 TSRMLS_CC); + ret = (Z_LVAL(result) == 0); } else { ret = 0; } @@ -6044,7 +6048,7 @@ PHP_FUNCTION(register_tick_function) efree(function_name); } - if (Z_TYPE_P(tick_fe.arguments[0]) != IS_ARRAY) { + if (Z_TYPE_P(tick_fe.arguments[0]) != IS_ARRAY && Z_TYPE_P(tick_fe.arguments[0]) != IS_OBJECT) { convert_to_string_ex(&tick_fe.arguments[0]); } |