From: Andi Gutmans Date: Tue, 5 Sep 2000 17:55:57 +0000 (+0000) Subject: - Commiting Sterling's new multi_convert* functions X-Git-Tag: php-4.0.3RC1~296 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=715774bed73cc789b7c5cc7b79acd6a283be86ed;p=php - Commiting Sterling's new multi_convert* functions --- 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; diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h index 3cdbda42ce..28c63739af 100644 --- a/Zend/zend_operators.h +++ b/Zend/zend_operators.h @@ -132,6 +132,9 @@ ZEND_API void convert_to_null(zval *op); ZEND_API void convert_to_boolean(zval *op); ZEND_API void convert_to_array(zval *op); ZEND_API void convert_to_object(zval *op); +ZEND_API void multi_convert_to_long_ex(int argc, ...); +ZEND_API void multi_convert_to_double_ex(int argc, ...); +ZEND_API void multi_convert_to_string_ex(int argc, ...); ZEND_API int add_char_to_string(zval *result, zval *op1, zval *op2); ZEND_API int add_string_to_string(zval *result, zval *op1, zval *op2); #define convert_to_string(op) _convert_to_string((op) ZEND_FILE_LINE_CC)