Bug #16757 Updated: setting server_name to NULL doesn't work
| From: | phanto@php.net | Date: | Sat, 27 Apr 2002 10:13:17 +0000 |
| Subject: | Bug #16757 Updated: setting server_name to NULL doesn't work | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-6217@lists.php.net to get a copy of this message | ||
ID: 16757
Updated by: phanto@php.net
Reported By: msisolak@yahoo.com
-Status: Open
+Status: Closed
Bug Type: COM related
Operating System: Windows 2000
PHP Version: 4.2.0
New Comment:
This bug has been fixed in CVS.
Previous Comments:
------------------------------------------------------------------------
[2002-04-23 11:20:24] msisolak@yahoo.com
In 4.2 you can no longer set server_name to NULL (which you need to do
if you just want to set the codepage). The problem is the code that
was added to 4.2 to process server_name as an ARRAY. In 4.1.2 the code
looked like this (COM.c, line 486):
if (server_name != NULL)
{
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 {
convert_to_string_ex(&server_name);
}
}
}
In the 4.2.0 COM.c, the new flags variable set and IS_ARRAY check was
added before the IS_NULL check, instead of inside the else branch -
thus flags is set to remote invocation, even if server_name is NULL.
To fix this I moved everything below "if (server_name != NULL)" and
above "if (Z_TYPE_P(server_name) == IS_NULL) {" to after "} else {".
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16757&edit=1