summaryrefslogtreecommitdiff
path: root/ext/odbc/php_odbc.c
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2000-10-20 18:25:16 +0000
committerAndrei Zmievski <andrei@php.net>2000-10-20 18:25:16 +0000
commit7b4983c8f82c4f361df787f58c6f5cf88d5def0b (patch)
treee38e8ffceb65a0f2492b28e2b07c8668fcddeda4 /ext/odbc/php_odbc.c
parenta0cfab65ea72963f81a3440a3587d11bd7800337 (diff)
downloadphp-git-7b4983c8f82c4f361df787f58c6f5cf88d5def0b.tar.gz
Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type() * Switched register_list_destructors() to use zend_register_list_destructors_ex() instead * Updated all relevant modules to provide the resource type name to register_list_destructors() call * Updated var_dump() to output resource type name instead of number @- Made resource type names visible, e.g. var_dump() and @ get_resource_type() display "file" for file resources. (Andrei)
Diffstat (limited to 'ext/odbc/php_odbc.c')
-rw-r--r--ext/odbc/php_odbc.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 05f7cf003d..a3dfa88786 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -137,8 +137,9 @@ ZEND_API php_odbc_globals odbc_globals;
ZEND_GET_MODULE(odbc)
#endif
-static void _free_odbc_result(odbc_result *res)
+static void _free_odbc_result(zend_rsrc_list_entry *rsrc)
{
+ odbc_result *res = (odbc_result *)rsrc->ptr;
int i;
if (res) {
@@ -165,8 +166,9 @@ static void _free_odbc_result(odbc_result *res)
}
}
-static void _close_odbc_conn(odbc_connection *conn)
+static void _close_odbc_conn(zend_rsrc_list_entry *rsrc)
{
+ odbc_connection *conn = (odbc_connection *)rsrc->ptr;
/* FIXME
* Closing a connection will fail if there are
* pending transactions. It is in the responsibility
@@ -181,8 +183,9 @@ static void _close_odbc_conn(odbc_connection *conn)
ODBCG(num_links)--;
}
-static void _close_odbc_pconn(odbc_connection *conn)
+static void _close_odbc_pconn(zend_rsrc_list_entry *rsrc)
{
+ odbc_connection *conn = (odbc_connection *)rsrc->ptr;
ODBCLS_FETCH();
SQLDisconnect(conn->hdbc);
@@ -328,9 +331,9 @@ PHP_MINIT_FUNCTION(odbc)
#endif
REGISTER_INI_ENTRIES();
- le_result = register_list_destructors(_free_odbc_result, NULL);
- le_conn = register_list_destructors(_close_odbc_conn, NULL);
- le_pconn = register_list_destructors(NULL, _close_odbc_pconn);
+ le_result = register_list_destructors(_free_odbc_result, NULL, "odbc result");
+ le_conn = register_list_destructors(_close_odbc_conn, NULL, "odbc link");
+ le_pconn = register_list_destructors(NULL, _close_odbc_pconn, "odbc link persistent");
odbc_module_entry.type = type;
REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", 0, CONST_CS | CONST_PERSISTENT);