mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-7.2'
* PHP-7.2: Bugfix#75419 Fix clearing of default link during pg_close()
This commit is contained in:
commit
55ac4f0929
2 changed files with 21 additions and 13 deletions
|
@ -1572,32 +1572,26 @@ PHP_FUNCTION(pg_close)
|
|||
{
|
||||
zval *pgsql_link = NULL;
|
||||
zend_resource *link;
|
||||
int argc = ZEND_NUM_ARGS();
|
||||
PGconn *pgsql;
|
||||
|
||||
if (zend_parse_parameters(argc, "|r", &pgsql_link) == FAILURE) {
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|r", &pgsql_link) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (argc == 0) {
|
||||
if (pgsql_link) {
|
||||
link = Z_RES_P(pgsql_link);
|
||||
} else {
|
||||
link = FETCH_DEFAULT_LINK();
|
||||
CHECK_DEFAULT_LINK(link);
|
||||
} else {
|
||||
link = Z_RES_P(pgsql_link);
|
||||
}
|
||||
|
||||
if ((pgsql = (PGconn *)zend_fetch_resource2(link, "PostgreSQL link", le_link, le_plink)) == NULL) {
|
||||
if (zend_fetch_resource2(link, "PostgreSQL link", le_link, le_plink) == NULL) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
if (argc == 0) { /* explicit resource number */
|
||||
zend_list_close(link);
|
||||
}
|
||||
|
||||
if (argc || (pgsql_link && Z_RES_P(pgsql_link) == PGG(default_link))) {
|
||||
zend_list_close(link);
|
||||
if (link == PGG(default_link)) {
|
||||
PGG(default_link) = NULL;
|
||||
}
|
||||
zend_list_close(link);
|
||||
|
||||
RETURN_TRUE;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue