From bc8703d8613f5b26d5f0fb4b6023d3e9496f3831 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sun, 26 Sep 2021 04:10:36 +0100 Subject: [PATCH] Use standard bool/zend_result instead of int --- ext/com_dotnet/com_com.c | 14 ++++++------- ext/com_dotnet/com_handlers.c | 9 ++++----- ext/com_dotnet/com_iterator.c | 2 +- ext/com_dotnet/com_misc.c | 2 +- ext/com_dotnet/com_typeinfo.c | 11 ++++------- ext/com_dotnet/com_variant.c | 10 +++++----- ext/com_dotnet/php_com_dotnet_internal.h | 25 ++++++++++++------------ 7 files changed, 34 insertions(+), 39 deletions(-) diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index adc7f792773..4d02e5fb7c3 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -331,7 +331,7 @@ PHP_FUNCTION(com_get_active_object) /* Performs an Invoke on the given com object. * returns a failure code and creates an exception if there was an error */ HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member, - WORD flags, DISPPARAMS *disp_params, VARIANT *v, int silent, int allow_noarg) + WORD flags, DISPPARAMS *disp_params, VARIANT *v, bool silent, bool allow_noarg) { HRESULT hr; unsigned int arg_err; @@ -340,7 +340,7 @@ HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member, hr = IDispatch_Invoke(V_DISPATCH(&obj->v), id_member, &IID_NULL, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), flags, disp_params, v, &e, &arg_err); - if (silent == 0 && FAILED(hr)) { + if (!silent && FAILED(hr)) { char *desc = NULL, *msg = NULL; switch (hr) { @@ -382,7 +382,7 @@ HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member, break; case DISP_E_BADPARAMCOUNT: - if ((disp_params->cArgs + disp_params->cNamedArgs == 0) && (allow_noarg == 1)) { + if ((disp_params->cArgs + disp_params->cNamedArgs == 0) && allow_noarg) { /* if getting a property and they are missing all parameters, * we want to create a proxy object for them; so lets not create an * exception here */ @@ -454,7 +454,7 @@ HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, zend_string *name, } /* the core of COM */ -int php_com_do_invoke_byref(php_com_dotnet_object *obj, zend_internal_function *f, +zend_result php_com_do_invoke_byref(php_com_dotnet_object *obj, zend_internal_function *f, WORD flags, VARIANT *v, int nargs, zval *args) { DISPID dispid, altdispid; @@ -582,8 +582,8 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, zend_internal_function * -int php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid, - WORD flags, VARIANT *v, int nargs, zval *args, int silent, int allow_noarg) +zend_result php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid, + WORD flags, VARIANT *v, int nargs, zval *args, bool silent, bool allow_noarg) { DISPID altdispid; DISPPARAMS disp_params; @@ -718,7 +718,7 @@ PHP_FUNCTION(com_event_sink) obj->sink_dispatch = php_com_wrapper_export_as_sink(sinkobject, &obj->sink_id, id_to_name); /* Now hook it up to the source */ - php_com_object_enable_event_sink(obj, TRUE); + php_com_object_enable_event_sink(obj, /* enable */ true); RETVAL_TRUE; } else { diff --git a/ext/com_dotnet/com_handlers.c b/ext/com_dotnet/com_handlers.c index 57518914c37..7f8f0e8614a 100644 --- a/ext/com_dotnet/com_handlers.c +++ b/ext/com_dotnet/com_handlers.c @@ -254,7 +254,7 @@ static PHP_FUNCTION(com_method_handler) php_com_dotnet_object *obj = CDNO_FETCH(object); int nargs; VARIANT v; - int ret = FAILURE; + zend_result ret = FAILURE; if (V_VT(&obj->v) != VT_DISPATCH) { goto exit; @@ -270,8 +270,7 @@ static PHP_FUNCTION(com_method_handler) VariantInit(&v); if (SUCCESS == php_com_do_invoke_byref(obj, (zend_internal_function*)EX(func), DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, nargs, args)) { - php_com_zval_from_variant(return_value, &v, obj->code_page); - ret = SUCCESS; + ret = php_com_zval_from_variant(return_value, &v, obj->code_page); VariantClear(&v); } @@ -534,7 +533,7 @@ zend_object_handlers php_com_object_handlers = { NULL, /* get_properties_for */ }; -void php_com_object_enable_event_sink(php_com_dotnet_object *obj, int enable) +void php_com_object_enable_event_sink(php_com_dotnet_object *obj, bool enable) { if (obj->sink_dispatch) { IConnectionPointContainer *cont; @@ -568,7 +567,7 @@ void php_com_object_free_storage(zend_object *object) } if (obj->sink_dispatch) { - php_com_object_enable_event_sink(obj, FALSE); + php_com_object_enable_event_sink(obj, /* enable */ false); IDispatch_Release(obj->sink_dispatch); obj->sink_dispatch = NULL; } diff --git a/ext/com_dotnet/com_iterator.c b/ext/com_dotnet/com_iterator.c index 4b38f47fd45..15e9b5df840 100644 --- a/ext/com_dotnet/com_iterator.c +++ b/ext/com_dotnet/com_iterator.c @@ -108,7 +108,7 @@ static void com_iter_move_forwards(zend_object_iterator *iter) return; } I->key++; - if (php_com_safearray_get_elem(&I->safe_array, &I->v, (LONG)I->key) == 0) { + if (!php_com_safearray_get_elem(&I->safe_array, &I->v, (LONG)I->key)) { I->key = (zend_ulong)-1; return; } diff --git a/ext/com_dotnet/com_misc.c b/ext/com_dotnet/com_misc.c index a48168b0e86..b2920ddba62 100644 --- a/ext/com_dotnet/com_misc.c +++ b/ext/com_dotnet/com_misc.c @@ -91,7 +91,7 @@ PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v, /* this is a convenience function for fetching a particular * element from a (possibly multi-dimensional) safe array */ -PHP_COM_DOTNET_API int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1) +PHP_COM_DOTNET_API bool php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1) { UINT dims; LONG lbound, ubound; diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c index 99ff73ea875..40f27e696d9 100644 --- a/ext/com_dotnet/com_typeinfo.c +++ b/ext/com_dotnet/com_typeinfo.c @@ -176,7 +176,7 @@ PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib(char *search_string, int codep } /* Given a type-library, merge it into the current engine state */ -PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepage) +PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, int codepage) { int i, j, interfaces; TYPEKIND pTKind; @@ -475,18 +475,17 @@ static zend_string *php_com_string_from_clsid(const CLSID *clsid, int codepage) } -int php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, int printdef, GUID *guid, int codepage) +bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool printdef, GUID *guid, int codepage) { TYPEATTR *attr; FUNCDESC *func; int i; OLECHAR *olename; zend_string *ansi_name = NULL; - int ret = 0; DISPID lastid = 0; /* for props */ if (FAILED(ITypeInfo_GetTypeAttr(typeinfo, &attr))) { - return 0; + return false; } /* verify that it is suitable */ @@ -637,13 +636,11 @@ int php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, int pri if (printdef) { php_printf("}\n"); } - - ret = 1; } else { zend_throw_error(NULL, "Type kind must be dispatchable, %08x given", attr->typekind); } ITypeInfo_ReleaseTypeAttr(typeinfo, attr); - return ret; + return true; } diff --git a/ext/com_dotnet/com_variant.c b/ext/com_dotnet/com_variant.c index 193eca3d77b..40106e3d8f4 100644 --- a/ext/com_dotnet/com_variant.c +++ b/ext/com_dotnet/com_variant.c @@ -172,10 +172,10 @@ PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codep } } -PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage) +PHP_COM_DOTNET_API zend_result php_com_zval_from_variant(zval *z, VARIANT *v, int codepage) { OLECHAR *olestring = NULL; - int ret = SUCCESS; + zend_result ret = SUCCESS; switch (V_VT(v)) { case VT_EMPTY: @@ -271,9 +271,9 @@ PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepa } -PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar) +PHP_COM_DOTNET_API zend_result php_com_copy_variant(VARIANT *dstvar, VARIANT *srcvar) { - int ret = SUCCESS; + zend_result ret = SUCCESS; switch (V_VT(dstvar) & ~VT_BYREF) { case VT_EMPTY: @@ -510,7 +510,7 @@ PHP_FUNCTION(variant_set) obj->typeinfo = NULL; } if (obj->sink_dispatch) { - php_com_object_enable_event_sink(obj, FALSE); + php_com_object_enable_event_sink(obj, /* enable */ false); IDispatch_Release(obj->sink_dispatch); obj->sink_dispatch = NULL; } diff --git a/ext/com_dotnet/php_com_dotnet_internal.h b/ext/com_dotnet/php_com_dotnet_internal.h index 4875b788c7a..30f9175051c 100644 --- a/ext/com_dotnet/php_com_dotnet_internal.h +++ b/ext/com_dotnet/php_com_dotnet_internal.h @@ -29,7 +29,7 @@ typedef struct _php_com_dotnet_object { zend_object zo; VARIANT v; - int modified; + bool modified; int code_page; @@ -48,7 +48,7 @@ typedef struct _php_com_dotnet_object { HashTable *id_of_name_cache; } php_com_dotnet_object; -static inline int php_com_is_valid_object(zval *zv) +static inline bool php_com_is_valid_object(zval *zv) { zend_class_entry *ce = Z_OBJCE_P(zv); return zend_string_equals_literal(ce->name, "com") || @@ -73,7 +73,7 @@ zend_object* php_com_object_new(zend_class_entry *ce); zend_object* php_com_object_clone(zend_object *object); void php_com_object_free_storage(zend_object *object); zend_object_handlers php_com_object_handlers; -void php_com_object_enable_event_sink(php_com_dotnet_object *obj, int enable); +void php_com_object_enable_event_sink(php_com_dotnet_object *obj, bool enable); /* com_saproxy.c */ zend_object_iterator *php_com_saproxy_iter_get(zend_class_entry *ce, zval *object, int by_ref); @@ -91,14 +91,14 @@ zend_string *php_com_bstr_to_string(BSTR bstr, int codepage); PHP_METHOD(com, __construct); HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member, - WORD flags, DISPPARAMS *disp_params, VARIANT *v, int silent, int allow_noarg); + WORD flags, DISPPARAMS *disp_params, VARIANT *v, bool silent, bool allow_noarg); HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, zend_string *name, DISPID *dispid); -int php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid, - WORD flags, VARIANT *v, int nargs, zval *args, int silent, int allow_noarg); +zend_result php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid, + WORD flags, VARIANT *v, int nargs, zval *args, bool silent, bool allow_noarg); zend_result php_com_do_invoke(php_com_dotnet_object *obj, zend_string *name, WORD flags, VARIANT *v, int nargs, zval *args, bool allow_noarg); -int php_com_do_invoke_byref(php_com_dotnet_object *obj, zend_internal_function *f, +zend_result php_com_do_invoke_byref(php_com_dotnet_object *obj, zend_internal_function *f, WORD flags, VARIANT *v, int nargs, zval *args); /* com_wrapper.c */ @@ -114,8 +114,8 @@ PHP_METHOD(variant, __construct); PHP_COM_DOTNET_API void php_com_variant_from_zval_with_type(VARIANT *v, zval *z, VARTYPE type, int codepage); PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codepage); -PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepage); -PHP_COM_DOTNET_API int php_com_copy_variant(VARIANT *dst, VARIANT *src); +PHP_COM_DOTNET_API zend_result php_com_zval_from_variant(zval *z, VARIANT *v, int codepage); +PHP_COM_DOTNET_API zend_result php_com_copy_variant(VARIANT *dst, VARIANT *src); /* com_dotnet.c */ PHP_METHOD(dotnet, __construct); @@ -128,16 +128,15 @@ PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp, int codepage); PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v, int codepage); -PHP_COM_DOTNET_API int php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1); +PHP_COM_DOTNET_API bool php_com_safearray_get_elem(VARIANT *array, VARIANT *dest, LONG dim1); /* com_typeinfo.c */ PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(const char *search_string, int codepage); PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib(char *search_string, int codepage); -PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, - int codepage); +PHP_COM_DOTNET_API zend_result php_com_import_typelib(ITypeLib *TL, int mode, int codepage); void php_com_typelibrary_dtor(zval *pDest); ITypeInfo *php_com_locate_typeinfo(char *typelibname, php_com_dotnet_object *obj, char *dispname, int sink); -int php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, int printdef, GUID *guid, int codepage); +bool php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, bool printdef, GUID *guid, int codepage); ITypeLib *php_com_cache_typelib(ITypeLib* TL, char *cache_key, zend_long cache_key_len); PHP_MINIT_FUNCTION(com_typeinfo); PHP_MSHUTDOWN_FUNCTION(com_typeinfo);