diff options
Diffstat (limited to 'ext/com_dotnet/com_variant.c')
-rw-r--r-- | ext/com_dotnet/com_variant.c | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/ext/com_dotnet/com_variant.c b/ext/com_dotnet/com_variant.c index aef7fabe7f..72cf16b9e3 100644 --- a/ext/com_dotnet/com_variant.c +++ b/ext/com_dotnet/com_variant.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -427,14 +425,14 @@ PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar) return php_com_copy_variant(V_VARIANTREF(dstvar), srcvar); default: - php_error_docref(NULL, E_WARNING, "variant->variant: failed to copy from 0x%x to 0x%x", V_VT(dstvar), V_VT(srcvar)); + php_error_docref(NULL, E_WARNING, "variant->__construct: failed to copy from 0x%x to 0x%x", V_VT(dstvar), V_VT(srcvar)); ret = FAILURE; } return ret; } /* {{{ com_variant_create_instance - ctor for new VARIANT() */ -PHP_FUNCTION(com_variant_create_instance) +PHP_METHOD(variant, __construct) { /* VARTYPE == unsigned short */ zend_long vt = VT_EMPTY; zend_long codepage = CP_ACP; @@ -448,15 +446,14 @@ PHP_FUNCTION(com_variant_create_instance) return; } - obj = CDNO_FETCH(object); - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "z!|ll", &zvalue, &vt, &codepage)) { - php_com_throw_exception(E_INVALIDARG, "Invalid arguments"); - return; + RETURN_THROWS(); } php_com_initialize(); + obj = CDNO_FETCH(object); + if (ZEND_NUM_ARGS() == 3) { obj->code_page = (int)codepage; } @@ -514,7 +511,7 @@ PHP_FUNCTION(variant_set) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "Oz!", &zobj, php_com_variant_class_entry, &zvalue)) { - return; + RETURN_THROWS(); } obj = CDNO_FETCH(zobj); @@ -592,7 +589,7 @@ static void variant_binary_operation(enum variant_binary_opcode op, INTERNAL_FUN php_com_variant_from_zval(vright, zright, codepage); } else { - return; + RETURN_THROWS(); } switch (op) { @@ -778,7 +775,7 @@ static void variant_unary_operation(enum variant_unary_opcode op, INTERNAL_FUNCT vleft = &left_val; php_com_variant_from_zval(vleft, zleft, codepage); } else { - return; + RETURN_THROWS(); } switch (op) { @@ -876,7 +873,7 @@ PHP_FUNCTION(variant_round) vleft = &left_val; php_com_variant_from_zval(vleft, zleft, codepage); } else { - return; + RETURN_THROWS(); } if (SUCCEEDED(VarRound(vleft, (int)decimals, &vres))) { @@ -936,7 +933,7 @@ PHP_FUNCTION(variant_cmp) php_com_variant_from_zval(vright, zright, codepage); } else { - return; + RETURN_THROWS(); } ZVAL_LONG(return_value, VarCmp(vleft, vright, (LCID)lcid, (ULONG)flags)); @@ -958,7 +955,7 @@ PHP_FUNCTION(variant_date_to_timestamp) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "O", &zleft, php_com_variant_class_entry)) { - return; + RETURN_THROWS(); } obj = CDNO_FETCH(zleft); @@ -997,7 +994,7 @@ PHP_FUNCTION(variant_date_from_timestamp) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "l", ×tamp)) { - return; + RETURN_THROWS(); } if (timestamp < 0) { @@ -1043,7 +1040,7 @@ PHP_FUNCTION(variant_get_type) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "O", &zobj, php_com_variant_class_entry)) { - return; + RETURN_THROWS(); } obj = CDNO_FETCH(zobj); @@ -1062,7 +1059,7 @@ PHP_FUNCTION(variant_set_type) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &zobj, php_com_variant_class_entry, &vt)) { - return; + RETURN_THROWS(); } obj = CDNO_FETCH(zobj); @@ -1098,7 +1095,7 @@ PHP_FUNCTION(variant_cast) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &zobj, php_com_variant_class_entry, &vt)) { - return; + RETURN_THROWS(); } obj = CDNO_FETCH(zobj); |