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) { |