summaryrefslogtreecommitdiff
path: root/ext/pgsql/pgsql.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-10-11 13:27:21 +0000
committerZeev Suraski <zeev@php.net>2000-10-11 13:27:21 +0000
commit8fc4200414c33446cf72bde65c307a4e010086c6 (patch)
treebbf9771ce4bf3a5693da9a7a725a11debc3cca84 /ext/pgsql/pgsql.c
parent332b7125de8b8dccbc01c2257760b4401b83ae1c (diff)
downloadphp-git-8fc4200414c33446cf72bde65c307a4e010086c6.tar.gz
Old PostgreSQL fix I forgot to commit, and NEWS consistency update
Diffstat (limited to 'ext/pgsql/pgsql.c')
-rw-r--r--ext/pgsql/pgsql.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 6748f23ef9..0ccc2c0e2d 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -110,6 +110,18 @@ int pgsql_globals_id;
PHP_PGSQL_API php_pgsql_globals pgsql_globals;
#endif
+static void php_pgsql_set_default_link(int id)
+{
+ PGLS_FETCH();
+
+ if (PGG(default_link)!=-1) {
+ zend_list_delete(PGG(default_link));
+ }
+ PGG(default_link) = id;
+ zend_list_addref(id);
+}
+
+
static void _close_pgsql_link(PGconn *link)
{
PGLS_FETCH();
@@ -374,7 +386,8 @@ void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
link = (int) (long) index_ptr->ptr;
ptr = zend_list_find(link,&type); /* check if the link is still there */
if (ptr && (type==le_link || type==le_plink)) {
- return_value->value.lval = PGG(default_link) = link;
+ return_value->value.lval = link;
+ php_pgsql_set_default_link(link);
return_value->type = IS_RESOURCE;
zend_list_addref(link);
efree(hashed_details);
@@ -412,8 +425,12 @@ void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
PGG(num_links)++;
}
efree(hashed_details);
+<<<<<<< pgsql.c
+ php_pgsql_set_default_link(return_value->value.lval);
+=======
PGG(default_link)=return_value->value.lval;
zend_list_addref(return_value->value.lval);
+>>>>>>> 1.63
}