summaryrefslogtreecommitdiff
path: root/ext/com_dotnet/com_variant.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-04-06 10:51:10 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-04-06 10:53:45 +0200
commit9cb32640afb23626920f3e31439310cb83e68550 (patch)
tree61e084007cd750090ac9bfb5e0f87e923843b459 /ext/com_dotnet/com_variant.c
parent50765075db6b6d5a9597589601c59f743f6ee9c8 (diff)
downloadphp-git-9cb32640afb23626920f3e31439310cb83e68550.tar.gz
Clean up constructor handling in com_dotnet
We substitute the construction magic with standard constructors, move the ZPP checks to the beginning of the ctors, and also let the function entries be generated from the stubs.
Diffstat (limited to 'ext/com_dotnet/com_variant.c')
-rw-r--r--ext/com_dotnet/com_variant.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/com_dotnet/com_variant.c b/ext/com_dotnet/com_variant.c
index bc4c7950e0..72cf16b9e3 100644
--- a/ext/com_dotnet/com_variant.c
+++ b/ext/com_dotnet/com_variant.c
@@ -425,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;
@@ -446,14 +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)) {
RETURN_THROWS();
}
php_com_initialize();
+ obj = CDNO_FETCH(object);
+
if (ZEND_NUM_ARGS() == 3) {
obj->code_page = (int)codepage;
}