diff options
Diffstat (limited to 'Zend/zend_operators.c')
-rw-r--r-- | Zend/zend_operators.c | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index e1e7cd2d36..b112a50257 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -488,7 +488,51 @@ ZEND_API void convert_to_object(zval *op) } } - +ZEND_API void multi_convert_to_long_ex(int argc, ...) +{ + zval **arg; + va_list ap; + + va_start(ap, argc); + + while (argc--) { + arg = va_arg(ap, zval **); + convert_to_long_ex(arg); + } + + va_end(ap); +} + +ZEND_API void multi_convert_to_double_ex(int argc, ...) +{ + zval **arg; + va_list ap; + + va_start(ap, argc); + + while (argc--) { + arg = va_arg(ap, zval **); + convert_to_double_ex(arg); + } + + va_end(ap); +} + +ZEND_API void multi_convert_to_string_ex(int argc, ...) +{ + zval **arg; + va_list ap; + + va_start(ap, argc); + + while (argc--) { + arg = va_arg(ap, zval **); + convert_to_string_ex(arg); + } + + va_end(ap); +} + ZEND_API int add_function(zval *result, zval *op1, zval *op2) { zval op1_copy, op2_copy; |