diff options
| author | Frank M. Kromann <fmk@php.net> | 2001-05-09 21:44:44 +0000 |
|---|---|---|
| committer | Frank M. Kromann <fmk@php.net> | 2001-05-09 21:44:44 +0000 |
| commit | 4d1c545a9c93834493b416379f0271b3bf1eb90e (patch) | |
| tree | 9e221db8143b972dcf787b65e7b448fbb8a06ad5 | |
| parent | 555fa779301f34ede2e6e55fd01403b632f0409f (diff) | |
| download | php-git-4d1c545a9c93834493b416379f0271b3bf1eb90e.tar.gz | |
Switching to zend_register_list_destructors_ex()
| -rw-r--r-- | ext/fbsql/php_fbsql.c | 33 |
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); |
