summaryrefslogtreecommitdiff
path: root/ext/sybase/php_sybase_db.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/sybase/php_sybase_db.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/sybase/php_sybase_db.c')
-rw-r--r--ext/sybase/php_sybase_db.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/ext/sybase/php_sybase_db.c b/ext/sybase/php_sybase_db.c
index f9f856367d..49aa046597 100644
--- a/ext/sybase/php_sybase_db.c
+++ b/ext/sybase/php_sybase_db.c
@@ -132,8 +132,9 @@ static int _clean_invalid_results(list_entry *le)
}
-static void _free_sybase_result(sybase_result *result)
+static void _free_sybase_result(zend_rsrc_list_entry *rsrc)
{
+ sybase_result *result = (sybase_result *)rsrc->ptr;
int i,j;
if (result->data) {
@@ -157,8 +158,9 @@ static void _free_sybase_result(sybase_result *result)
}
-static void _close_sybase_link(sybase_link *sybase_ptr)
+static void _close_sybase_link(zend_rsrc_list_entry *rsrc)
{
+ sybase_link *sybase_ptr = (sybase_link *)rsrc->ptr;
ELS_FETCH();
sybase_ptr->valid = 0;
@@ -177,8 +179,9 @@ static void _close_sybase_link(sybase_link *sybase_ptr)
}
-static void _close_sybase_plink(sybase_link *sybase_ptr)
+static void _close_sybase_plink(zend_rsrc_list_entry *rsrc)
{
+ sybase_link *sybase_ptr = (sybase_link *)rsrc->ptr;
dbclose(sybase_ptr->link);
dbloginfree(sybase_ptr->login);
free(sybase_ptr);
@@ -220,9 +223,9 @@ PHP_MINIT_FUNCTION(sybase)
}
php_sybase_module.num_persistent=0;
- php_sybase_module.le_link = register_list_destructors(_close_sybase_link,NULL);
- php_sybase_module.le_plink = register_list_destructors(NULL,_close_sybase_plink);
- php_sybase_module.le_result = register_list_destructors(_free_sybase_result,NULL);
+ php_sybase_module.le_link = register_list_destructors(_close_sybase_link,NULL, "sybase-db link");
+ php_sybase_module.le_plink = register_list_destructors(NULL,_close_sybase_plink, "sybase-db link persistent");
+ php_sybase_module.le_result = register_list_destructors(_free_sybase_result,NULL, "sybase-db result");
return SUCCESS;
}