From a380af2247a012d5a7ec188201f07de53e6373e1 Mon Sep 17 00:00:00 2001 From: Harald Radi Date: Sat, 27 Apr 2002 10:17:46 +0000 Subject: [PATCH] don't set CLSCTX_REMOTE_SERVER if NULL is passed as servername --- ext/com/COM.c | 13 ++++--------- ext/rpc/com/com_wrapper.c | 13 ++++--------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/ext/com/COM.c b/ext/com/COM.c index 29cc740455..58ab660650 100644 --- a/ext/com/COM.c +++ b/ext/com/COM.c @@ -501,14 +501,11 @@ PHP_FUNCTION(com_load) } if (server_name != NULL) { - /* if a server is passed, one obviously wants to instanciate a - * remote server - */ - flags = CLSCTX_REMOTE_SERVER; - /* What is server name? A String or an array? */ - if (Z_TYPE_P(server_name) == IS_ARRAY) { + if (Z_TYPE_P(server_name) == IS_NULL) { + server_name = NULL; + } else if (Z_TYPE_P(server_name) == IS_ARRAY) { pval **tmp; /* DAB: 22 Sept 2001 */ /* Aha - we have a number of possible */ @@ -568,14 +565,12 @@ PHP_FUNCTION(com_load) convert_to_long_ex(tmp); flags = (CLSCTX) Z_LVAL_PP(tmp); } - } - if (Z_TYPE_P(server_name) == IS_NULL) { - server_name = NULL; } else { if (!INI_INT("com.allow_dcom")) { php_error(E_WARNING, "DCOM is disabled"); RETURN_FALSE; } else { + flags = CLSCTX_REMOTE_SERVER; convert_to_string_ex(&server_name); } } diff --git a/ext/rpc/com/com_wrapper.c b/ext/rpc/com/com_wrapper.c index 29cc740455..58ab660650 100644 --- a/ext/rpc/com/com_wrapper.c +++ b/ext/rpc/com/com_wrapper.c @@ -501,14 +501,11 @@ PHP_FUNCTION(com_load) } if (server_name != NULL) { - /* if a server is passed, one obviously wants to instanciate a - * remote server - */ - flags = CLSCTX_REMOTE_SERVER; - /* What is server name? A String or an array? */ - if (Z_TYPE_P(server_name) == IS_ARRAY) { + if (Z_TYPE_P(server_name) == IS_NULL) { + server_name = NULL; + } else if (Z_TYPE_P(server_name) == IS_ARRAY) { pval **tmp; /* DAB: 22 Sept 2001 */ /* Aha - we have a number of possible */ @@ -568,14 +565,12 @@ PHP_FUNCTION(com_load) convert_to_long_ex(tmp); flags = (CLSCTX) Z_LVAL_PP(tmp); } - } - if (Z_TYPE_P(server_name) == IS_NULL) { - server_name = NULL; } else { if (!INI_INT("com.allow_dcom")) { php_error(E_WARNING, "DCOM is disabled"); RETURN_FALSE; } else { + flags = CLSCTX_REMOTE_SERVER; convert_to_string_ex(&server_name); } } -- 2.40.0