diff options
| author | Andrei Zmievski <andrei@php.net> | 2000-10-20 18:25:16 +0000 |
|---|---|---|
| committer | Andrei Zmievski <andrei@php.net> | 2000-10-20 18:25:16 +0000 |
| commit | 7b4983c8f82c4f361df787f58c6f5cf88d5def0b (patch) | |
| tree | e38e8ffceb65a0f2492b28e2b07c8668fcddeda4 /ext/odbc/php_odbc.c | |
| parent | a0cfab65ea72963f81a3440a3587d11bd7800337 (diff) | |
| download | php-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.c | 15 |
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); |
