diff options
Diffstat (limited to 'ext/mssql/php_mssql.c')
| -rw-r--r-- | ext/mssql/php_mssql.c | 24 | 
1 files changed, 9 insertions, 15 deletions
| diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 6e7dc46e43..0e67d20a65 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -851,24 +851,18 @@ PHP_FUNCTION(mssql_pconnect)  PHP_FUNCTION(mssql_close)  {  	zval *mssql_link_index = NULL; -	int id; +	int id = -1;  	mssql_link *mssql_ptr; -	switch (ZEND_NUM_ARGS()) { -		case 0: -			id = php_mssql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); -			CHECK_LINK(id); -			break; -		case 1: -			if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &mssql_link_index) == FAILURE) { -				return; -			} -			id = -1; -			break; -		default: -			WRONG_PARAM_COUNT; -			break; +	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mssql_link_index) == FAILURE) { +		return;  	} + +	if (mssql_link_index == NULL) { +		id = php_mssql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); +		CHECK_LINK(id); +	} +  	ZEND_FETCH_RESOURCE2(mssql_ptr, mssql_link *, &mssql_link_index, id, "MS SQL-Link", le_link, le_plink);  	if (mssql_link_index) { | 
