mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
ported ext/com_dotnet
This commit is contained in:
parent
919b996527
commit
074172061e
9 changed files with 55 additions and 47 deletions
|
@ -57,11 +57,11 @@ PHP_FUNCTION(com_create_instance)
|
||||||
obj = CDNO_FETCH(object);
|
obj = CDNO_FETCH(object);
|
||||||
|
|
||||||
if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "s|s!ls",
|
ZEND_NUM_ARGS() TSRMLS_CC, "s|s!is",
|
||||||
&module_name, &module_name_len, &server_name, &server_name_len,
|
&module_name, &module_name_len, &server_name, &server_name_len,
|
||||||
&obj->code_page, &typelib_name, &typelib_name_len) &&
|
&obj->code_page, &typelib_name, &typelib_name_len) &&
|
||||||
FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "sa|ls",
|
ZEND_NUM_ARGS() TSRMLS_CC, "sa|is",
|
||||||
&module_name, &module_name_len, &server_params, &obj->code_page,
|
&module_name, &module_name_len, &server_params, &obj->code_page,
|
||||||
&typelib_name, &typelib_name_len)) {
|
&typelib_name, &typelib_name_len)) {
|
||||||
|
|
||||||
|
@ -289,14 +289,14 @@ PHP_FUNCTION(com_get_active_object)
|
||||||
CLSID clsid;
|
CLSID clsid;
|
||||||
char *module_name;
|
char *module_name;
|
||||||
int module_name_len;
|
int module_name_len;
|
||||||
long code_page = COMG(code_page);
|
php_int_t code_page = COMG(code_page);
|
||||||
IUnknown *unk = NULL;
|
IUnknown *unk = NULL;
|
||||||
IDispatch *obj = NULL;
|
IDispatch *obj = NULL;
|
||||||
HRESULT res;
|
HRESULT res;
|
||||||
OLECHAR *module = NULL;
|
OLECHAR *module = NULL;
|
||||||
|
|
||||||
php_com_initialize(TSRMLS_C);
|
php_com_initialize(TSRMLS_C);
|
||||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l",
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|i",
|
||||||
&module_name, &module_name_len, &code_page)) {
|
&module_name, &module_name_len, &code_page)) {
|
||||||
php_com_throw_exception(E_INVALIDARG, "Invalid arguments!" TSRMLS_CC);
|
php_com_throw_exception(E_INVALIDARG, "Invalid arguments!" TSRMLS_CC);
|
||||||
return;
|
return;
|
||||||
|
@ -784,11 +784,11 @@ PHP_FUNCTION(com_print_typeinfo)
|
||||||
Process COM messages, sleeping for up to timeoutms milliseconds */
|
Process COM messages, sleeping for up to timeoutms milliseconds */
|
||||||
PHP_FUNCTION(com_message_pump)
|
PHP_FUNCTION(com_message_pump)
|
||||||
{
|
{
|
||||||
long timeoutms = 0;
|
php_int_t timeoutms = 0;
|
||||||
MSG msg;
|
MSG msg;
|
||||||
DWORD result;
|
DWORD result;
|
||||||
|
|
||||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &timeoutms) == FAILURE)
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|i", &timeoutms) == FAILURE)
|
||||||
RETURN_FALSE;
|
RETURN_FALSE;
|
||||||
|
|
||||||
php_com_initialize(TSRMLS_C);
|
php_com_initialize(TSRMLS_C);
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <intsafe.h>
|
||||||
|
|
||||||
#include "php.h"
|
#include "php.h"
|
||||||
#include "php_ini.h"
|
#include "php_ini.h"
|
||||||
#include "ext/standard/info.h"
|
#include "ext/standard/info.h"
|
||||||
|
@ -382,6 +384,12 @@ PHP_MINIT_FUNCTION(com_dotnet)
|
||||||
REGISTER_INI_ENTRIES();
|
REGISTER_INI_ENTRIES();
|
||||||
|
|
||||||
#define COM_CONST(x) REGISTER_INT_CONSTANT(#x, x, CONST_CS|CONST_PERSISTENT)
|
#define COM_CONST(x) REGISTER_INT_CONSTANT(#x, x, CONST_CS|CONST_PERSISTENT)
|
||||||
|
|
||||||
|
#define COM_ERR_CONST(x) { \
|
||||||
|
php_int_t __tmp; \
|
||||||
|
ULongToUIntPtr(x, &__tmp); \
|
||||||
|
REGISTER_INT_CONSTANT(#x, __tmp, CONST_CS|CONST_PERSISTENT); \
|
||||||
|
}
|
||||||
|
|
||||||
COM_CONST(CLSCTX_INPROC_SERVER);
|
COM_CONST(CLSCTX_INPROC_SERVER);
|
||||||
COM_CONST(CLSCTX_INPROC_HANDLER);
|
COM_CONST(CLSCTX_INPROC_HANDLER);
|
||||||
|
@ -441,10 +449,10 @@ PHP_MINIT_FUNCTION(com_dotnet)
|
||||||
#ifdef NORM_IGNOREKASHIDA
|
#ifdef NORM_IGNOREKASHIDA
|
||||||
COM_CONST(NORM_IGNOREKASHIDA);
|
COM_CONST(NORM_IGNOREKASHIDA);
|
||||||
#endif
|
#endif
|
||||||
COM_CONST(DISP_E_DIVBYZERO);
|
COM_ERR_CONST(DISP_E_DIVBYZERO);
|
||||||
COM_CONST(DISP_E_OVERFLOW);
|
COM_ERR_CONST(DISP_E_OVERFLOW);
|
||||||
COM_CONST(DISP_E_BADINDEX);
|
COM_ERR_CONST(DISP_E_BADINDEX);
|
||||||
COM_CONST(MK_E_UNAVAILABLE);
|
COM_ERR_CONST(MK_E_UNAVAILABLE);
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
struct php_com_iterator {
|
struct php_com_iterator {
|
||||||
zend_object_iterator iter;
|
zend_object_iterator iter;
|
||||||
IEnumVARIANT *ev;
|
IEnumVARIANT *ev;
|
||||||
ulong key;
|
php_uint_t key;
|
||||||
VARIANT v; /* cached element */
|
VARIANT v; /* cached element */
|
||||||
int code_page;
|
int code_page;
|
||||||
VARIANT safe_array;
|
VARIANT safe_array;
|
||||||
|
@ -75,7 +75,7 @@ static void com_iter_get_key(zend_object_iterator *iter, zval *key TSRMLS_DC)
|
||||||
{
|
{
|
||||||
struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
|
struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
|
||||||
|
|
||||||
if (I->key == (ulong)-1) {
|
if (I->key == (php_uint_t)-1) {
|
||||||
ZVAL_NULL(key);
|
ZVAL_NULL(key);
|
||||||
} else {
|
} else {
|
||||||
ZVAL_INT(key, I->key);
|
ZVAL_INT(key, I->key);
|
||||||
|
|
|
@ -36,7 +36,7 @@ void php_com_throw_exception(HRESULT code, char *message TSRMLS_DC)
|
||||||
message = php_win32_error_to_msg(code);
|
message = php_win32_error_to_msg(code);
|
||||||
free_msg = 1;
|
free_msg = 1;
|
||||||
}
|
}
|
||||||
zend_throw_exception(php_com_exception_class_entry, message, (long)code TSRMLS_CC);
|
zend_throw_exception(php_com_exception_class_entry, message, (php_int_t)code TSRMLS_CC);
|
||||||
if (free_msg) {
|
if (free_msg) {
|
||||||
LocalFree(message);
|
LocalFree(message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -439,7 +439,7 @@ CPH_METHOD(LoadFromFile)
|
||||||
HRESULT res;
|
HRESULT res;
|
||||||
char *filename, *fullpath;
|
char *filename, *fullpath;
|
||||||
int filename_len;
|
int filename_len;
|
||||||
long flags = 0;
|
php_int_t flags = 0;
|
||||||
OLECHAR *olefilename;
|
OLECHAR *olefilename;
|
||||||
CPH_FETCH();
|
CPH_FETCH();
|
||||||
|
|
||||||
|
@ -448,7 +448,7 @@ CPH_METHOD(LoadFromFile)
|
||||||
res = get_persist_file(helper);
|
res = get_persist_file(helper);
|
||||||
if (helper->ipf) {
|
if (helper->ipf) {
|
||||||
|
|
||||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|l",
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "p|i",
|
||||||
&filename, &filename_len, &flags)) {
|
&filename, &filename_len, &flags)) {
|
||||||
php_com_throw_exception(E_INVALIDARG, "Invalid arguments" TSRMLS_CC);
|
php_com_throw_exception(E_INVALIDARG, "Invalid arguments" TSRMLS_CC);
|
||||||
return;
|
return;
|
||||||
|
@ -506,7 +506,7 @@ CPH_METHOD(GetMaxStreamSize)
|
||||||
php_com_throw_exception(res, NULL TSRMLS_CC);
|
php_com_throw_exception(res, NULL TSRMLS_CC);
|
||||||
} else {
|
} else {
|
||||||
/* TODO: handle 64 bit properly */
|
/* TODO: handle 64 bit properly */
|
||||||
RETURN_INT((LONG)size.QuadPart);
|
RETURN_INT((php_int_t)size.QuadPart);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
|
@ -353,7 +353,7 @@ static int saproxy_object_cast(zval *readobj, zval *writeobj, int type TSRMLS_DC
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int saproxy_count_elements(zval *object, long *count TSRMLS_DC)
|
static int saproxy_count_elements(zval *object, php_int_t *count TSRMLS_DC)
|
||||||
{
|
{
|
||||||
php_com_saproxy *proxy = SA_FETCH(object);
|
php_com_saproxy *proxy = SA_FETCH(object);
|
||||||
LONG ubound, lbound;
|
LONG ubound, lbound;
|
||||||
|
|
|
@ -39,8 +39,8 @@ static void safe_array_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC)
|
||||||
HashPosition pos;
|
HashPosition pos;
|
||||||
int keytype;
|
int keytype;
|
||||||
zend_string *strindex;
|
zend_string *strindex;
|
||||||
long intindex = -1;
|
php_int_t intindex = -1;
|
||||||
long max_index = 0;
|
php_int_t max_index = 0;
|
||||||
VARIANT *va;
|
VARIANT *va;
|
||||||
zval *item;
|
zval *item;
|
||||||
|
|
||||||
|
@ -187,28 +187,28 @@ PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepa
|
||||||
ZVAL_NULL(z);
|
ZVAL_NULL(z);
|
||||||
break;
|
break;
|
||||||
case VT_UI1:
|
case VT_UI1:
|
||||||
ZVAL_INT(z, (long)V_UI1(v));
|
ZVAL_INT(z, (php_int_t)V_UI1(v));
|
||||||
break;
|
break;
|
||||||
case VT_I1:
|
case VT_I1:
|
||||||
ZVAL_INT(z, (long)V_I1(v));
|
ZVAL_INT(z, (php_int_t)V_I1(v));
|
||||||
break;
|
break;
|
||||||
case VT_UI2:
|
case VT_UI2:
|
||||||
ZVAL_INT(z, (long)V_UI2(v));
|
ZVAL_INT(z, (php_int_t)V_UI2(v));
|
||||||
break;
|
break;
|
||||||
case VT_I2:
|
case VT_I2:
|
||||||
ZVAL_INT(z, (long)V_I2(v));
|
ZVAL_INT(z, (php_int_t)V_I2(v));
|
||||||
break;
|
break;
|
||||||
case VT_UI4: /* TODO: promote to double if large? */
|
case VT_UI4: /* TODO: promote to double if large? */
|
||||||
ZVAL_INT(z, (long)V_UI4(v));
|
ZVAL_INT(z, (php_int_t)V_UI4(v));
|
||||||
break;
|
break;
|
||||||
case VT_I4:
|
case VT_I4:
|
||||||
ZVAL_INT(z, (long)V_I4(v));
|
ZVAL_INT(z, (php_int_t)V_I4(v));
|
||||||
break;
|
break;
|
||||||
case VT_INT:
|
case VT_INT:
|
||||||
ZVAL_INT(z, V_INT(v));
|
ZVAL_INT(z, V_INT(v));
|
||||||
break;
|
break;
|
||||||
case VT_UINT: /* TODO: promote to double if large? */
|
case VT_UINT: /* TODO: promote to double if large? */
|
||||||
ZVAL_INT(z, (long)V_UINT(v));
|
ZVAL_INT(z, (php_int_t)V_UINT(v));
|
||||||
break;
|
break;
|
||||||
case VT_R4:
|
case VT_R4:
|
||||||
ZVAL_DOUBLE(z, (double)V_R4(v));
|
ZVAL_DOUBLE(z, (double)V_R4(v));
|
||||||
|
@ -406,8 +406,8 @@ PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar TSR
|
||||||
/* {{{ com_variant_create_instance - ctor for new VARIANT() */
|
/* {{{ com_variant_create_instance - ctor for new VARIANT() */
|
||||||
PHP_FUNCTION(com_variant_create_instance)
|
PHP_FUNCTION(com_variant_create_instance)
|
||||||
{
|
{
|
||||||
/* VARTYPE == unsigned short */ long vt = VT_EMPTY;
|
/* VARTYPE == unsigned short */ php_int_t vt = VT_EMPTY;
|
||||||
long codepage = CP_ACP;
|
php_int_t codepage = CP_ACP;
|
||||||
zval *object = getThis();
|
zval *object = getThis();
|
||||||
php_com_dotnet_object *obj;
|
php_com_dotnet_object *obj;
|
||||||
zval *zvalue = NULL;
|
zval *zvalue = NULL;
|
||||||
|
@ -421,7 +421,7 @@ PHP_FUNCTION(com_variant_create_instance)
|
||||||
obj = CDNO_FETCH(object);
|
obj = CDNO_FETCH(object);
|
||||||
|
|
||||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
||||||
"z!|ll", &zvalue, &vt, &codepage)) {
|
"z!|ii", &zvalue, &vt, &codepage)) {
|
||||||
php_com_throw_exception(E_INVALIDARG, "Invalid arguments" TSRMLS_CC);
|
php_com_throw_exception(E_INVALIDARG, "Invalid arguments" TSRMLS_CC);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -444,7 +444,7 @@ PHP_FUNCTION(com_variant_create_instance)
|
||||||
but will probably fail (original behavior)
|
but will probably fail (original behavior)
|
||||||
*/
|
*/
|
||||||
if ((vt & VT_ARRAY) && (V_VT(&obj->v) & VT_ARRAY)) {
|
if ((vt & VT_ARRAY) && (V_VT(&obj->v) & VT_ARRAY)) {
|
||||||
long orig_vt = vt;
|
php_int_t orig_vt = vt;
|
||||||
|
|
||||||
vt &= ~VT_ARRAY;
|
vt &= ~VT_ARRAY;
|
||||||
if (vt) {
|
if (vt) {
|
||||||
|
@ -832,7 +832,7 @@ PHP_FUNCTION(variant_round)
|
||||||
zval *zleft = NULL;
|
zval *zleft = NULL;
|
||||||
php_com_dotnet_object *obj;
|
php_com_dotnet_object *obj;
|
||||||
int codepage = CP_ACP;
|
int codepage = CP_ACP;
|
||||||
long decimals = 0;
|
php_int_t decimals = 0;
|
||||||
|
|
||||||
VariantInit(&left_val);
|
VariantInit(&left_val);
|
||||||
VariantInit(&vres);
|
VariantInit(&vres);
|
||||||
|
@ -867,8 +867,8 @@ PHP_FUNCTION(variant_cmp)
|
||||||
zval *zleft = NULL, *zright = NULL;
|
zval *zleft = NULL, *zright = NULL;
|
||||||
php_com_dotnet_object *obj;
|
php_com_dotnet_object *obj;
|
||||||
int codepage = CP_ACP;
|
int codepage = CP_ACP;
|
||||||
long lcid = LOCALE_SYSTEM_DEFAULT;
|
php_int_t lcid = LOCALE_SYSTEM_DEFAULT;
|
||||||
long flags = 0;
|
php_int_t flags = 0;
|
||||||
/* it is safe to ignore the warning for this line; see the comments in com_handlers.c */
|
/* it is safe to ignore the warning for this line; see the comments in com_handlers.c */
|
||||||
STDAPI VarCmp(LPVARIANT pvarLeft, LPVARIANT pvarRight, LCID lcid, DWORD flags);
|
STDAPI VarCmp(LPVARIANT pvarLeft, LPVARIANT pvarRight, LCID lcid, DWORD flags);
|
||||||
|
|
||||||
|
@ -876,28 +876,28 @@ PHP_FUNCTION(variant_cmp)
|
||||||
VariantInit(&right_val);
|
VariantInit(&right_val);
|
||||||
|
|
||||||
if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "OO|ll", &zleft, php_com_variant_class_entry,
|
ZEND_NUM_ARGS() TSRMLS_CC, "OO|ii", &zleft, php_com_variant_class_entry,
|
||||||
&zright, php_com_variant_class_entry, &lcid, &flags)) {
|
&zright, php_com_variant_class_entry, &lcid, &flags)) {
|
||||||
obj = CDNO_FETCH(zleft);
|
obj = CDNO_FETCH(zleft);
|
||||||
vleft = &obj->v;
|
vleft = &obj->v;
|
||||||
obj = CDNO_FETCH(zright);
|
obj = CDNO_FETCH(zright);
|
||||||
vright = &obj->v;
|
vright = &obj->v;
|
||||||
} else if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
} else if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "Oz!|ll", &zleft, php_com_variant_class_entry,
|
ZEND_NUM_ARGS() TSRMLS_CC, "Oz!|ii", &zleft, php_com_variant_class_entry,
|
||||||
&zright, &lcid, &flags)) {
|
&zright, &lcid, &flags)) {
|
||||||
obj = CDNO_FETCH(zleft);
|
obj = CDNO_FETCH(zleft);
|
||||||
vleft = &obj->v;
|
vleft = &obj->v;
|
||||||
vright = &right_val;
|
vright = &right_val;
|
||||||
php_com_variant_from_zval(vright, zright, codepage TSRMLS_CC);
|
php_com_variant_from_zval(vright, zright, codepage TSRMLS_CC);
|
||||||
} else if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
} else if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
|
||||||
ZEND_NUM_ARGS() TSRMLS_CC, "z!O|ll", &zleft, &zright, php_com_variant_class_entry,
|
ZEND_NUM_ARGS() TSRMLS_CC, "z!O|ii", &zleft, &zright, php_com_variant_class_entry,
|
||||||
&lcid, &flags)) {
|
&lcid, &flags)) {
|
||||||
obj = CDNO_FETCH(zright);
|
obj = CDNO_FETCH(zright);
|
||||||
vright = &obj->v;
|
vright = &obj->v;
|
||||||
vleft = &left_val;
|
vleft = &left_val;
|
||||||
php_com_variant_from_zval(vleft, zleft, codepage TSRMLS_CC);
|
php_com_variant_from_zval(vleft, zleft, codepage TSRMLS_CC);
|
||||||
} else if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
} else if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
||||||
"z!z!|ll", &zleft, &zright, &lcid, &flags)) {
|
"z!z!|ii", &zleft, &zright, &lcid, &flags)) {
|
||||||
|
|
||||||
vleft = &left_val;
|
vleft = &left_val;
|
||||||
php_com_variant_from_zval(vleft, zleft, codepage TSRMLS_CC);
|
php_com_variant_from_zval(vleft, zleft, codepage TSRMLS_CC);
|
||||||
|
@ -959,13 +959,13 @@ PHP_FUNCTION(variant_date_to_timestamp)
|
||||||
Returns a variant date representation of a unix timestamp */
|
Returns a variant date representation of a unix timestamp */
|
||||||
PHP_FUNCTION(variant_date_from_timestamp)
|
PHP_FUNCTION(variant_date_from_timestamp)
|
||||||
{
|
{
|
||||||
long timestamp;
|
php_int_t timestamp;
|
||||||
time_t ttstamp;
|
time_t ttstamp;
|
||||||
SYSTEMTIME systime;
|
SYSTEMTIME systime;
|
||||||
struct tm *tmv;
|
struct tm *tmv;
|
||||||
VARIANT res;
|
VARIANT res;
|
||||||
|
|
||||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l",
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i",
|
||||||
×tamp)) {
|
×tamp)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1020,11 +1020,11 @@ PHP_FUNCTION(variant_set_type)
|
||||||
{
|
{
|
||||||
zval *zobj;
|
zval *zobj;
|
||||||
php_com_dotnet_object *obj;
|
php_com_dotnet_object *obj;
|
||||||
/* VARTYPE == unsigned short */ long vt;
|
/* VARTYPE == unsigned short */ php_int_t vt;
|
||||||
HRESULT res;
|
HRESULT res;
|
||||||
|
|
||||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
||||||
"Ol", &zobj, php_com_variant_class_entry, &vt)) {
|
"Oi", &zobj, php_com_variant_class_entry, &vt)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
obj = CDNO_FETCH(zobj);
|
obj = CDNO_FETCH(zobj);
|
||||||
|
@ -1055,12 +1055,12 @@ PHP_FUNCTION(variant_cast)
|
||||||
{
|
{
|
||||||
zval *zobj;
|
zval *zobj;
|
||||||
php_com_dotnet_object *obj;
|
php_com_dotnet_object *obj;
|
||||||
/* VARTYPE == unsigned short */ long vt;
|
/* VARTYPE == unsigned short */ php_int_t vt;
|
||||||
VARIANT vres;
|
VARIANT vres;
|
||||||
HRESULT res;
|
HRESULT res;
|
||||||
|
|
||||||
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
|
||||||
"Ol", &zobj, php_com_variant_class_entry, &vt)) {
|
"Oi", &zobj, php_com_variant_class_entry, &vt)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
obj = CDNO_FETCH(zobj);
|
obj = CDNO_FETCH(zobj);
|
||||||
|
|
|
@ -450,7 +450,7 @@ static void generate_dispids(php_dispatchex *disp TSRMLS_DC)
|
||||||
zend_string *name = NULL;
|
zend_string *name = NULL;
|
||||||
zval *tmp, tmp2;
|
zval *tmp, tmp2;
|
||||||
int keytype;
|
int keytype;
|
||||||
ulong pid;
|
php_uint_t pid;
|
||||||
|
|
||||||
if (disp->dispid_to_name == NULL) {
|
if (disp->dispid_to_name == NULL) {
|
||||||
ALLOC_HASHTABLE(disp->dispid_to_name);
|
ALLOC_HASHTABLE(disp->dispid_to_name);
|
||||||
|
@ -467,7 +467,7 @@ static void generate_dispids(php_dispatchex *disp TSRMLS_DC)
|
||||||
&pid, 0, &pos))) {
|
&pid, 0, &pos))) {
|
||||||
char namebuf[32];
|
char namebuf[32];
|
||||||
if (keytype == HASH_KEY_IS_INT) {
|
if (keytype == HASH_KEY_IS_INT) {
|
||||||
snprintf(namebuf, sizeof(namebuf), "%d", pid);
|
snprintf(namebuf, sizeof(namebuf), ZEND_UINT_FMT, pid);
|
||||||
name = STR_INIT(namebuf, strlen(namebuf), 0);
|
name = STR_INIT(namebuf, strlen(namebuf), 0);
|
||||||
} else {
|
} else {
|
||||||
STR_ADDREF(name);
|
STR_ADDREF(name);
|
||||||
|
@ -590,7 +590,7 @@ PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *si
|
||||||
zend_string *name = NULL;
|
zend_string *name = NULL;
|
||||||
zval tmp, *ntmp;
|
zval tmp, *ntmp;
|
||||||
int keytype;
|
int keytype;
|
||||||
ulong pid;
|
php_uint_t pid;
|
||||||
|
|
||||||
disp->dispid_to_name = id_to_name;
|
disp->dispid_to_name = id_to_name;
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ typedef struct _php_com_dotnet_object {
|
||||||
int modified;
|
int modified;
|
||||||
|
|
||||||
ITypeInfo *typeinfo;
|
ITypeInfo *typeinfo;
|
||||||
long code_page;
|
php_int_t code_page;
|
||||||
|
|
||||||
zend_class_entry *ce;
|
zend_class_entry *ce;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue