summaryrefslogtreecommitdiff
path: root/ext/com_dotnet/com_variant.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/com_dotnet/com_variant.c')
-rw-r--r--ext/com_dotnet/com_variant.c33
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",
&timestamp)) {
- 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);