#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)
{
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)
{
break;
}
}
-// phpfbReleaseDatabase(result->database);
}
if (result->link)
{
break;
}
}
-// phpfbReleaseLink(result->link);
}
result->link = 0;
result->database = 0;
return database;
}
-void phpfbReleaseDatabase (PHPFBDatabase* database)
+static void phpfbReleaseDatabase(zend_rsrc_list_entry *rsrc)
{
+ PHPFBDatabase* database = (PHPFBDatabase *)rsrc->ptr;
if (database)
{
database->retainCount--;
break;
}
}
-// phpfbReleaseLink(database->link);
}
fbcdcClose(database->connection);
fbcdcRelease(database->connection);
return link;
}
-void phpfbReleaseLink (PHPFBLink* link)
+static void phpfbReleaseLink (zend_rsrc_list_entry *rsrc)
{
+ PHPFBLink* link = (PHPFBLink *)rsrc->ptr;
FBSQLLS_FETCH();
if (link)
{
}
}
-void phpfbReleasePLink (PHPFBLink* link)
+static void phpfbReleasePLink (zend_rsrc_list_entry *rsrc)
{
+ PHPFBLink* link = (PHPFBLink *)rsrc->ptr;
FBSQLLS_FETCH();
if (link)
{
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);
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);