summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank M. Kromann <fmk@php.net>2001-05-09 21:44:44 +0000
committerFrank M. Kromann <fmk@php.net>2001-05-09 21:44:44 +0000
commit4d1c545a9c93834493b416379f0271b3bf1eb90e (patch)
tree9e221db8143b972dcf787b65e7b448fbb8a06ad5
parent555fa779301f34ede2e6e55fd01403b632f0409f (diff)
downloadphp-git-4d1c545a9c93834493b416379f0271b3bf1eb90e.tar.gz
Switching to zend_register_list_destructors_ex()
-rw-r--r--ext/fbsql/php_fbsql.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c
index c9f3f4d4ce..520fb753ba 100644
--- a/ext/fbsql/php_fbsql.c
+++ b/ext/fbsql/php_fbsql.c
@@ -250,10 +250,10 @@ ZEND_GET_MODULE(fbsql)
#endif
-void phpfbReleaseResult (PHPFBResult* result);
-void phpfbReleaseDatabase (PHPFBDatabase* database);
-void phpfbReleaseLink (PHPFBLink* link);
-void phpfbReleasePLink (PHPFBLink* link);
+static void phpfbReleaseDatabase(zend_rsrc_list_entry *rsrc);
+static void phpfbReleaseResult (zend_rsrc_list_entry *rsrc);
+static void phpfbReleaseLink (zend_rsrc_list_entry *rsrc);
+static void phpfbReleasePLink (zend_rsrc_list_entry *rsrc);
PHPFBResult* phpfbRetainResult (PHPFBResult* result)
{
@@ -261,9 +261,10 @@ PHPFBResult* phpfbRetainResult (PHPFBResult* result)
return result;
}
-void phpfbReleaseResult (PHPFBResult* result)
+static void phpfbReleaseResult (zend_rsrc_list_entry *rsrc)
{
unsigned int i;
+ PHPFBResult* result = (PHPFBResult *)rsrc->ptr;
FBSQLLS_FETCH();
if (result)
{
@@ -289,7 +290,6 @@ void phpfbReleaseResult (PHPFBResult* result)
break;
}
}
-// phpfbReleaseDatabase(result->database);
}
if (result->link)
{
@@ -301,7 +301,6 @@ void phpfbReleaseResult (PHPFBResult* result)
break;
}
}
-// phpfbReleaseLink(result->link);
}
result->link = 0;
result->database = 0;
@@ -327,8 +326,9 @@ PHPFBDatabase* phpfbRetainDatabase (PHPFBDatabase* database)
return database;
}
-void phpfbReleaseDatabase (PHPFBDatabase* database)
+static void phpfbReleaseDatabase(zend_rsrc_list_entry *rsrc)
{
+ PHPFBDatabase* database = (PHPFBDatabase *)rsrc->ptr;
if (database)
{
database->retainCount--;
@@ -345,7 +345,6 @@ void phpfbReleaseDatabase (PHPFBDatabase* database)
break;
}
}
-// phpfbReleaseLink(database->link);
}
fbcdcClose(database->connection);
fbcdcRelease(database->connection);
@@ -362,8 +361,9 @@ PHPFBLink* phpfbRetainLink (PHPFBLink* link)
return link;
}
-void phpfbReleaseLink (PHPFBLink* link)
+static void phpfbReleaseLink (zend_rsrc_list_entry *rsrc)
{
+ PHPFBLink* link = (PHPFBLink *)rsrc->ptr;
FBSQLLS_FETCH();
if (link)
{
@@ -383,8 +383,9 @@ void phpfbReleaseLink (PHPFBLink* link)
}
}
-void phpfbReleasePLink (PHPFBLink* link)
+static void phpfbReleasePLink (zend_rsrc_list_entry *rsrc)
{
+ PHPFBLink* link = (PHPFBLink *)rsrc->ptr;
FBSQLLS_FETCH();
if (link)
{
@@ -453,10 +454,10 @@ PHP_MINIT_FUNCTION(fbsql)
fbcInitialize();
- le_result = register_list_destructors(phpfbReleaseResult,NULL);
- le_link = register_list_destructors(phpfbReleaseLink,NULL);
- le_plink = register_list_destructors(NULL, phpfbReleasePLink);
- le_dba = register_list_destructors(phpfbReleaseDatabase,NULL);
+ le_result = zend_register_list_destructors_ex(phpfbReleaseResult, NULL, "fbsql link", module_number);
+ le_link = zend_register_list_destructors_ex(NULL, phpfbReleasePLink, "fbsql plink", module_number);
+ le_plink = zend_register_list_destructors_ex(phpfbReleaseLink, NULL, "fbsql result", module_number);
+ le_dba = zend_register_list_destructors_ex(phpfbReleaseDatabase, NULL, "fbsql database", module_number);
REGISTER_LONG_CONSTANT("FBSQL_ASSOC", FBSQL_ASSOC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FBSQL_NUM", FBSQL_NUM, CONST_CS | CONST_PERSISTENT);
@@ -565,7 +566,7 @@ PHPFBLink* phpfbConnect(INTERNAL_FUNCTION_PARAMETERS, char *hostName, char *user
le.type = le_link;
if (zend_hash_update(persistant?&EG(persistent_list):&EG(regular_list), name, strlen(name), &le, sizeof(le), NULL)==FAILURE)
{
- phpfbReleaseLink(result);
+/* phpfbReleaseLink(result); */
return NULL;
}
result->index = zend_list_insert (phpfbRetainLink(result), le_link);