diff options
| author | Zeev Suraski <zeev@php.net> | 2000-10-11 13:27:21 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-10-11 13:27:21 +0000 |
| commit | 8fc4200414c33446cf72bde65c307a4e010086c6 (patch) | |
| tree | bbf9771ce4bf3a5693da9a7a725a11debc3cca84 /ext/pgsql/pgsql.c | |
| parent | 332b7125de8b8dccbc01c2257760b4401b83ae1c (diff) | |
| download | php-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.c | 19 |
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 } |
