cvs: php4 /ext/aspell aspell.c /ext/bz2 bz2.c /ext/com COM.c /ext/cpdf cpdf.c /ext/curl curl.c /ext/db db.c /ext/dba dba.c /ext/dbase dbase.c
/ext/domxml php_domxml.c /ext/fdf fdf.c /ext/ftp php_ftp.c /ext/gd gd.c /ext/hyperwave hw.c /ext/icap php_icap.c /ext/imap php_imap.c
/ext/ingres_ii ii.c /ext/interbase interbase.c /ext/java java.c /ext/ldap ldap.c /ext/mcal php_mcal.c /ext/msql php_msql.c /ext/mssql
php_mssql.c /ext/mysql php_mysql.c /ext/oci8 oci8.c /ext/odbc php_odbc.c velocis.c /ext/oracle oracle.c /ext/pdf pdf.c /ext/pgsql pgsql.c
/ext/pspell pspell.c /ext/sablot sablot.c /ext/shmop shmop.c /ext/sockets sockets.c /ext/standard dir.c file.c var.c /ext/sybase php_sybase_db.c
/ext/sybase_ct php_sybase_ct.c /ext/sysvsem sysvsem.c /ext/sysvshm sysvshm.c /ext/wddx wddx.c /ext/xml xml.c /ext/zlib zlib.c /main main.c
| From: | Andrei Zmievski | Date: | Fri, 20 Oct 2000 18:25:18 +0000 |
| Subject: | cvs: php4 /ext/aspell aspell.c /ext/bz2 bz2.c /ext/com COM.c /ext/cpdf cpdf.c /ext/curl curl.c /ext/db db.c /ext/dba dba.c /ext/dbase dbase.c /ext/domxml php_domxml.c /ext/fdf fdf.c /ext/ftp php_ftp.c /ext/gd gd.c /ext/hyperwave hw.c /ext/icap php_icap.c /ext/imap php_imap.c /ext/ingres_ii ii.c /ext/interbase interbase.c /ext/java java.c /ext/ldap ldap.c /ext/mcal php_mcal.c /ext/msql php_msql.c /ext/mssql php_mssql.c /ext/mysql php_mysql.c /ext/oci8 oci8.c /ext/odbc php_odbc.c velocis.c /ext/oracle oracle.c /ext/pdf pdf.c /ext/pgsql pgsql.c /ext/pspell pspell.c /ext/sablot sablot.c /ext/shmop shmop.c /ext/sockets sockets.c /ext/standard dir.c file.c var.c /ext/sybase php_sybase_db.c /ext/sybase_ct php_sybase_ct.c /ext/sysvsem sysvsem.c /ext/sysvshm sysvshm.c /ext/wddx wddx.c /ext/xml xml.c /ext/zlib zlib.c /main main.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-2166@lists.php.net to get a copy of this message | ||
andrei Fri Oct 20 11:25:18 2000 EDT
Modified files:
/php4/ext/aspell aspell.c
/php4/ext/bz2 bz2.c
/php4/ext/com COM.c
/php4/ext/cpdf cpdf.c
/php4/ext/curl curl.c
/php4/ext/db db.c
/php4/ext/dba dba.c
/php4/ext/dbase dbase.c
/php4/ext/domxml php_domxml.c
/php4/ext/fdf fdf.c
/php4/ext/ftp php_ftp.c
/php4/ext/gd gd.c
/php4/ext/hyperwave hw.c
/php4/ext/icap php_icap.c
/php4/ext/imap php_imap.c
/php4/ext/ingres_ii ii.c
/php4/ext/interbase interbase.c
/php4/ext/java java.c
/php4/ext/ldap ldap.c
/php4/ext/mcal php_mcal.c
/php4/ext/msql php_msql.c
/php4/ext/mssql php_mssql.c
/php4/ext/mysql php_mysql.c
/php4/ext/oci8 oci8.c
/php4/ext/odbc php_odbc.c velocis.c
/php4/ext/oracle oracle.c
/php4/ext/pdf pdf.c
/php4/ext/pgsql pgsql.c
/php4/ext/pspell pspell.c
/php4/ext/sablot sablot.c
/php4/ext/shmop shmop.c
/php4/ext/sockets sockets.c
/php4/ext/standard dir.c file.c var.c
/php4/ext/sybase php_sybase_db.c
/php4/ext/sybase_ct php_sybase_ct.c
/php4/ext/sysvsem sysvsem.c
/php4/ext/sysvshm sysvshm.c
/php4/ext/wddx wddx.c
/php4/ext/xml xml.c
/php4/ext/zlib zlib.c
/php4/main main.c
Log:
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)
Index: php4/ext/aspell/aspell.c
diff -u php4/ext/aspell/aspell.c:1.22 php4/ext/aspell/aspell.c:1.23
--- php4/ext/aspell/aspell.c:1.22 Mon Jun 5 12:47:39 2000
+++ php4/ext/aspell/aspell.c Fri Oct 20 11:24:55 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: aspell.c,v 1.22 2000/06/05 19:47:39 andi Exp $ */
+/* $Id: aspell.c,v 1.23 2000/10/20 18:24:55 andrei Exp $ */
#include "php.h"
@@ -52,15 +52,16 @@
ZEND_GET_MODULE(aspell)
#endif
-static void php_aspell_close(aspell *sc)
+static void php_aspell_close(zend_rsrc_list_entry *rsrc)
{
+ aspell *sc = (aspell *)rsrc->ptr;
aspell_free(sc);
}
PHP_MINIT_FUNCTION(aspell)
{
- le_aspell = register_list_destructors(php_aspell_close,NULL);
+ le_aspell = register_list_destructors(php_aspell_close,NULL,"aspell");
return SUCCESS;
}
Index: php4/ext/bz2/bz2.c
diff -u php4/ext/bz2/bz2.c:1.1 php4/ext/bz2/bz2.c:1.2
--- php4/ext/bz2/bz2.c:1.1 Wed Oct 18 11:32:21 2000
+++ php4/ext/bz2/bz2.c Fri Oct 20 11:24:55 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: bz2.c,v 1.1 2000/10/18 18:32:21 sterling Exp $ */
+/* $Id: bz2.c,v 1.2 2000/10/20 18:24:55 andrei Exp $ */
#include "php.h"
@@ -69,7 +69,7 @@
PHP_MINIT_FUNCTION(bz2)
{
- le_bz2 = register_list_destructors(_php_bz2_close_handle, NULL);
+ le_bz2 = register_list_destructors(_php_bz2_close_handle, NULL,"bzip2");
return SUCCESS;
}
@@ -336,8 +336,9 @@
/* }}} */
/* {{{ _php_bz2_close_handle() */
-static void _php_bz2_close_handle(BZFILE *bz)
+static void _php_bz2_close_handle(zend_rsrc_list_entry *rsrc)
{
+ BZFILE *bz = (BZFILE *)rsrc->ptr;
BZ2_bzclose(bz);
}
/* }}} */
Index: php4/ext/com/COM.c
diff -u php4/ext/com/COM.c:1.39 php4/ext/com/COM.c:1.40
--- php4/ext/com/COM.c:1.39 Mon Oct 9 04:48:14 2000
+++ php4/ext/com/COM.c Fri Oct 20 11:24:57 2000
@@ -148,8 +148,9 @@
}
-static void php_idispatch_destructor(IDispatch *i_dispatch)
+static void php_idispatch_destructor(zend_rsrc_list_entry *rsrc)
{
+ IDispatch *i_dispatch = (IDispatch *)rsrc->ptr;
i_dispatch->lpVtbl->Release(i_dispatch);
}
@@ -226,7 +227,7 @@
PHP_MINIT_FUNCTION(COM)
{
CoInitialize(NULL);
- le_idispatch = register_list_destructors(php_idispatch_destructor, NULL);
+ le_idispatch = register_list_destructors(php_idispatch_destructor, NULL,"COM");
php_register_COM_class();
REGISTER_INI_ENTRIES();
return SUCCESS;
Index: php4/ext/cpdf/cpdf.c
diff -u php4/ext/cpdf/cpdf.c:1.19 php4/ext/cpdf/cpdf.c:1.20
--- php4/ext/cpdf/cpdf.c:1.19 Sat Jun 24 08:31:06 2000
+++ php4/ext/cpdf/cpdf.c Fri Oct 20 11:24:58 2000
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cpdf.c,v 1.19 2000/06/24 15:31:06 sas Exp $ */
+/* $Id: cpdf.c,v 1.20 2000/10/20 18:24:58 andrei Exp $ */
/* cpdflib.h -- C language API definitions for ClibPDF library
* Copyright (C) 1998 FastIO Systems, All Rights Reserved.
*/
@@ -162,19 +162,20 @@
ZEND_GET_MODULE(cpdf)
#endif
-static void _free_outline(CPDFoutlineEntry *outline)
+static void _free_outline(zend_rsrc_list_entry *rsrc)
{
}
-static void _free_doc(CPDFdoc *pdf)
+static void _free_doc(zend_rsrc_list_entry *rsrc)
{
+ CPDFdoc *pdf = (CPDFdoc *)rsrc->ptr;
cpdf_close(pdf);
}
PHP_MINIT_FUNCTION(cpdf)
{
- CPDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL);
- CPDF_GLOBAL(le_cpdf) = register_list_destructors(_free_doc, NULL);
+ CPDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL,"cpdf outline");
+ CPDF_GLOBAL(le_cpdf) = register_list_destructors(_free_doc, NULL,"cpdf");
return SUCCESS;
}
Index: php4/ext/curl/curl.c
diff -u php4/ext/curl/curl.c:1.17 php4/ext/curl/curl.c:1.18
--- php4/ext/curl/curl.c:1.17 Thu Oct 19 21:57:14 2000
+++ php4/ext/curl/curl.c Fri Oct 20 11:24:58 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: curl.c,v 1.17 2000/10/20 04:57:14 sterling Exp $ */
+/* $Id: curl.c,v 1.18 2000/10/20 18:24:58 andrei Exp $ */
#include "php.h"
@@ -134,7 +134,7 @@
PHP_MINIT_FUNCTION(curl)
{
- le_curl = register_list_destructors(_php_curl_close, NULL);
+ le_curl = register_list_destructors(_php_curl_close, NULL, "curl");
/* Constants for curl_setopt() */
REGISTER_LONG_CONSTANT("CURLOPT_PORT", CURLOPT_PORT, CONST_CS | CONST_PERSISTENT);
@@ -785,8 +785,9 @@
/* {{{ _php_curl_close()
List destructor for curl handles */
-static void _php_curl_close(php_curl *curl_handle)
+static void _php_curl_close(zend_rsrc_list_entry *rsrc)
{
+ php_curl *curl_handle = (php_curl *)rsrc->ptr;
curl_easy_cleanup(curl_handle->cp);
efree(curl_handle);
}
Index: php4/ext/db/db.c
diff -u php4/ext/db/db.c:1.43 php4/ext/db/db.c:1.44
--- php4/ext/db/db.c:1.43 Sun Jun 25 10:02:44 2000
+++ php4/ext/db/db.c Fri Oct 20 11:24:58 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: db.c,v 1.43 2000/06/25 17:02:44 zeev Exp $ */
+/* $Id: db.c,v 1.44 2000/10/20 18:24:58 andrei Exp $ */
#define IS_EXT_MODULE
#if 1
@@ -423,8 +423,9 @@
}
/* }}} */
-int php_dbm_close(dbm_info *info) {
+int php_dbm_close(zend_rsrc_list_entry *rsrc) {
int ret = 0;
+ dbm_info *info = (dbm_info *)rsrc->ptr;
DBM_TYPE dbf;
int lockfd;
@@ -1121,7 +1122,7 @@
}
#endif
- le_db = register_list_destructors(php_dbm_close,NULL);
+ le_db = register_list_destructors(php_dbm_close,NULL,"dbm");
return SUCCESS;
}
Index: php4/ext/dba/dba.c
diff -u php4/ext/dba/dba.c:1.21 php4/ext/dba/dba.c:1.22
--- php4/ext/dba/dba.c:1.21 Thu Jul 13 11:44:57 2000
+++ php4/ext/dba/dba.c Fri Oct 20 11:24:58 2000
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dba.c,v 1.21 2000/07/13 18:44:57 eschmid Exp $ */
+/* $Id: dba.c,v 1.22 2000/10/20 18:24:58 andrei Exp $ */
#include "php.h"
@@ -178,8 +178,9 @@
/* {{{ helper routines */
/* {{{ dba_close */
-static void dba_close(dba_info *info)
+static void dba_close(zend_rsrc_list_entry *rsrc)
{
+ dba_info *info = (dba_info *)rsrc->ptr;
if(info->hnd) info->hnd->close(info);
if(info->path) free(info->path);
free(info);
@@ -189,8 +190,8 @@
static PHP_MINIT_FUNCTION(dba)
{
zend_hash_init(&ht_keys, 0, NULL, NULL, 1);
- GLOBAL(le_db) = register_list_destructors(dba_close, NULL);
- GLOBAL(le_pdb) = register_list_destructors(NULL, dba_close);
+ GLOBAL(le_db) = register_list_destructors(dba_close, NULLi,"dba");
+ GLOBAL(le_pdb) = register_list_destructors(NULL, dba_close,"dba persistent");
return SUCCESS;
}
@@ -206,7 +207,7 @@
dba_handler *hptr;
php_info_print_box_start(0);
- PUTS("V1 ($Id: dba.c,v 1.21 2000/07/13 18:44:57 eschmid Exp $)");
+ PUTS("V1 ($Id: dba.c,v 1.22 2000/10/20 18:24:58 andrei Exp $)");
for(hptr = handler; hptr->name; hptr++) {
PUTS(" ");
PUTS(hptr->name);
Index: php4/ext/dbase/dbase.c
diff -u php4/ext/dbase/dbase.c:1.31 php4/ext/dbase/dbase.c:1.32
--- php4/ext/dbase/dbase.c:1.31 Sun Aug 13 10:41:20 2000
+++ php4/ext/dbase/dbase.c Fri Oct 20 11:24:59 2000
@@ -55,8 +55,9 @@
#include <errno.h>
-static void _close_dbase(dbhead_t *dbhead)
+static void _close_dbase(zend_rsrc_list_entry *rsrc)
{
+ dbhead_t *dbhead = (dbhead_t *)rsrc->ptr;
close(dbhead->db_fd);
free_dbf_head(dbhead);
}
@@ -80,7 +81,8 @@
dbase_globals = (dbase_global_struct *) LocalAlloc(LPTR, sizeof(dbase_global_struct));
TlsSetValue(DbaseTls, (void *) dbase_globals);
#endif
- DBase_GLOBAL(le_dbhead) = register_list_destructors(_close_dbase,NULL);
+ DBase_GLOBAL(le_dbhead) =
+ register_list_destructors(_close_dbase,NULL,"dbase");
return SUCCESS;
}
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.10 php4/ext/domxml/php_domxml.c:1.11
--- php4/ext/domxml/php_domxml.c:1.10 Thu Aug 10 01:31:40 2000
+++ php4/ext/domxml/php_domxml.c Fri Oct 20 11:24:59 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.10 2000/08/10 08:31:40 hholzgra Exp $ */
+/* $Id: php_domxml.c,v 1.11 2000/10/20 18:24:59 andrei Exp $ */
#include "php.h"
@@ -111,7 +111,13 @@
ZEND_GET_MODULE(domxml)
#endif
-void _free_node(xmlNode *tmp) {
+static void php_free_xml_doc(zend_rsrc_list_entry *rsrc)
+{
+ xmlDoc *doc = (xmlDoc *)rsrc->ptr;
+ xmlFreeDoc(doc);
+}
+
+void _free_node(zend_rsrc_list_entry *rsrc) {
/*fprintf(stderr, "Freeing node: %s\n", tmp->name);*/
}
@@ -127,12 +133,12 @@
domxmltestnode_class_startup();
#endif
- le_domxmldocp = register_list_destructors(xmlFreeDoc, NULL);
+ le_domxmldocp = register_list_destructors(xmlFreeDoc, NULL, "domxml document");
/* Freeing the document contains freeing the complete tree.
Therefore nodes, attributes etc. may not be freed seperately.
*/
- le_domxmlnodep = register_list_destructors(_free_node, NULL);
- le_domxmlattrp = register_list_destructors(NULL, NULL);
+ le_domxmlnodep = register_list_destructors(_free_node, NULL, "domxml node");
+ le_domxmlattrp = register_list_destructors(NULL, NULL, "domxml attribute");
/* le_domxmlnsp = register_list_destructors(NULL, NULL); */
INIT_CLASS_ENTRY(domxmldoc_class_entry, "DomDocument", php_domxmldoc_class_functions);
Index: php4/ext/fdf/fdf.c
diff -u php4/ext/fdf/fdf.c:1.33 php4/ext/fdf/fdf.c:1.34
--- php4/ext/fdf/fdf.c:1.33 Fri Oct 13 05:13:34 2000
+++ php4/ext/fdf/fdf.c Fri Oct 20 11:24:59 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: fdf.c,v 1.33 2000/10/13 12:13:34 hholzgra Exp $ */
+/* $Id: fdf.c,v 1.34 2000/10/20 18:24:59 andrei Exp $ */
/* FdfTk lib 2.0 is a Complete C/C++ FDF Toolkit available from
http://beta1.adobe.com/ada/acrosdk/forms.html.
*/
@@ -100,7 +100,9 @@
ZEND_GET_MODULE(fdf)
#endif
-static void phpi_FDFClose(FDFDoc fdf) {
+static void phpi_FDFClose(zend_rsrc_list_entry *rsrc)
+{
+ FDFDoc fdf = (FDFDoc)rsrc->ptr;
(void)FDFClose(fdf);
}
@@ -116,7 +118,7 @@
PHP_MINIT_FUNCTION(fdf)
{
FDFErc err;
- FDF_GLOBAL(le_fdf) = register_list_destructors(phpi_FDFClose, NULL);
+ FDF_GLOBAL(le_fdf) = register_list_destructors(phpi_FDFClose, NULL, "fdf");
/* add handler for Acrobat FDF form post requests */
sapi_add_post_entry("application/vnd.fdf", php_default_post_reader, fdf_post_handler);
Index: php4/ext/ftp/php_ftp.c
diff -u php4/ext/ftp/php_ftp.c:1.28 php4/ext/ftp/php_ftp.c:1.29
--- php4/ext/ftp/php_ftp.c:1.28 Sun Oct 8 04:45:17 2000
+++ php4/ext/ftp/php_ftp.c Fri Oct 20 11:25:00 2000
@@ -28,7 +28,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_ftp.c,v 1.28 2000/10/08 11:45:17 dbeu Exp $ */
+/* $Id: php_ftp.c,v 1.29 2000/10/20 18:25:00 andrei Exp $ */
#include "php.h"
@@ -84,14 +84,15 @@
ZEND_GET_MODULE(php_ftp)
#endif
-static void ftp_destructor_ftpbuf(ftpbuf_t *ftp)
+static void ftp_destructor_ftpbuf(zend_rsrc_list_entry *rsrc)
{
+ ftpbuf_t *ftp = (ftpbuf_t *)rsrc->ptr;
ftp_close(ftp);
}
PHP_MINIT_FUNCTION(ftp)
{
- le_ftpbuf = register_list_destructors(ftp_destructor_ftpbuf, NULL);
+ le_ftpbuf = register_list_destructors(ftp_destructor_ftpbuf, NULL, "ftp");
REGISTER_MAIN_LONG_CONSTANT("FTP_ASCII", FTPTYPE_ASCII,
CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("FTP_BINARY", FTPTYPE_IMAGE,
Index: php4/ext/gd/gd.c
diff -u php4/ext/gd/gd.c:1.89 php4/ext/gd/gd.c:1.90
--- php4/ext/gd/gd.c:1.89 Mon Oct 16 06:50:30 2000
+++ php4/ext/gd/gd.c Fri Oct 20 11:25:00 2000
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: gd.c,v 1.89 2000/10/16 13:50:30 hirokawa Exp $ */
+/* $Id: gd.c,v 1.90 2000/10/20 18:25:00 andrei Exp $ */
/* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
Cold Spring Harbor Labs. */
@@ -187,9 +187,14 @@
ZEND_GET_MODULE(gd)
#endif
+static void php_free_gd_image(zend_rsrc_list_entry *rsrc)
+{
+ gdImageDestroy((gdImagePtr)rsrc->ptr);
+}
-static void php_free_gd_font(gdFontPtr fp)
+static void php_free_gd_font(zend_rsrc_list_entry *rsrc)
{
+ gdFontPtr fp = (gdFontPtr)rsrc->ptr;
if (fp->data) {
efree(fp->data);
}
@@ -220,14 +225,14 @@
return FAILURE;
}
#endif
- GDG(le_gd) = register_list_destructors(gdImageDestroy, NULL);
- GDG(le_gd_font) = register_list_destructors(php_free_gd_font, NULL);
+ GDG(le_gd) = register_list_destructors(php_free_gd_image, NULL, "gd");
+ GDG(le_gd_font) = register_list_destructors(php_free_gd_font, NULL, "gd font");
#if HAVE_LIBT1
T1_SetBitmapPad(8);
T1_InitLib(NO_LOGFILE|IGNORE_CONFIGFILE|IGNORE_FONTDATABASE);
T1_SetLogLevel(T1LOG_DEBUG);
- GDG(le_ps_font) = register_list_destructors(php_free_ps_font, NULL);
- GDG(le_ps_enc) = register_list_destructors(php_free_ps_enc, NULL);
+ GDG(le_ps_font) = register_list_destructors(php_free_ps_font, NULL, "gd PS font");
+ GDG(le_ps_enc) = register_list_destructors(php_free_ps_enc, NULL, "gd PS encoding");
#endif
REGISTER_LONG_CONSTANT("IMG_GIF", 1, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_JPG", 2, CONST_CS | CONST_PERSISTENT);
@@ -2068,14 +2073,16 @@
#if HAVE_LIBT1
-void php_free_ps_font(int *font)
+void php_free_ps_font(zend_rsrc_list_entry *rsrc)
{
+ int *font = (int *)rsrc->ptr;
T1_DeleteFont(*font);
efree(font);
}
-void php_free_ps_enc(char **enc)
+void php_free_ps_enc(zend_rsrc_list_entry *rsrc)
{
+ char **enc = (char **)rsrc->ptr;
T1_DeleteEncoding(enc);
}
Index: php4/ext/hyperwave/hw.c
diff -u php4/ext/hyperwave/hw.c:1.63 php4/ext/hyperwave/hw.c:1.64
--- php4/ext/hyperwave/hw.c:1.63 Mon Aug 28 06:04:35 2000
+++ php4/ext/hyperwave/hw.c Fri Oct 20 11:25:00 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: hw.c,v 1.63 2000/08/28 13:04:35 steinm Exp $ */
+/* $Id: hw.c,v 1.64 2000/10/20 18:25:00 andrei Exp $ */
#include <stdlib.h>
#include <errno.h>
@@ -132,8 +132,9 @@
void print_msg(hg_msg *msg, char *str, int txt);
-void _close_hw_link(hw_connection *conn)
+void _close_hw_link(zend_rsrc_list_entry *rsrc)
{
+ hw_connection *conn = (hw_connection *)rsrc->ptr;
if(conn->hostname)
free(conn->hostname);
if(conn->username)
@@ -143,8 +144,9 @@
HwSG(num_links)--;
}
-void _close_hw_plink(hw_connection *conn)
+void _close_hw_plink(zend_rsrc_list_entry *rsrc)
{
+ hw_connection *conn = (hw_connection *)rsrc->ptr;
if(conn->hostname)
free(conn->hostname);
if(conn->username)
@@ -155,8 +157,9 @@
HwSG(num_persistent)--;
}
-void _free_hw_document(hw_document *doc)
+void _free_hw_document(zend_rsrc_list_entry *rsrc)
{
+ hw_document *doc = (hw_document *)rsrc->ptr;
if(doc->data)
free(doc->data);
if(doc->attributes)
@@ -191,9 +194,9 @@
ZEND_INIT_MODULE_GLOBALS(hw, php_hw_init_globals, NULL);
REGISTER_INI_ENTRIES();
- HwSG(le_socketp) = register_list_destructors(_close_hw_link,NULL);
- HwSG(le_psocketp) = register_list_destructors(NULL,_close_hw_plink);
- HwSG(le_document) = register_list_destructors(_free_hw_document,NULL);
+ HwSG(le_socketp) = register_list_destructors(_close_hw_link,NULL, "hyperwave link");
+ HwSG(le_psocketp) = register_list_destructors(NULL,_close_hw_plink, "hyperwave link
persistent");
+ HwSG(le_document) = register_list_destructors(_free_hw_document,NULL, "hyperwave
document");
hw_module_entry.type = type;
REGISTER_LONG_CONSTANT("HW_ATTR_LANG", HW_ATTR_LANG, CONST_CS | CONST_PERSISTENT);
Index: php4/ext/icap/php_icap.c
diff -u php4/ext/icap/php_icap.c:1.19 php4/ext/icap/php_icap.c:1.20
--- php4/ext/icap/php_icap.c:1.19 Mon Aug 21 03:10:30 2000
+++ php4/ext/icap/php_icap.c Fri Oct 20 11:25:01 2000
@@ -116,8 +116,9 @@
char icap_user[80]="";
char icap_password[80]="";
-CALSTREAM *cal_close_it (pils *icap_le_struct)
+CALSTREAM *cal_close_it (zend_rsrc_list_entry *rsrc)
{
+ pils *icap_le_struct = (pils *)rsrc->ptr;
CALSTREAM *ret;
ret = cal_close (icap_le_struct->icap_stream,0);
efree(icap_le_struct);
@@ -136,7 +137,7 @@
PHP_MINIT_FUNCTION(icap)
{
- le_icap = register_list_destructors(cal_close_it,NULL);
+ le_icap = register_list_destructors(cal_close_it,NULL,"icap");
return SUCCESS;
}
Index: php4/ext/imap/php_imap.c
diff -u php4/ext/imap/php_imap.c:1.48 php4/ext/imap/php_imap.c:1.49
--- php4/ext/imap/php_imap.c:1.48 Wed Oct 18 18:32:50 2000
+++ php4/ext/imap/php_imap.c Fri Oct 20 11:25:03 2000
@@ -25,7 +25,7 @@
| PHP 4.0 updates: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_imap.c,v 1.48 2000/10/19 01:32:50 chagenbu Exp $ */
+/* $Id: php_imap.c,v 1.49 2000/10/20 18:25:03 andrei Exp $ */
#define IMAP41
@@ -71,11 +71,11 @@
int imap_mail(char *to, char *subject, char *message, char *headers, char *cc, char *bcc, char
*rpath);
-void mail_close_it(pils *imap_le_struct);
+void mail_close_it(zend_rsrc_list_entry *rsrc);
#ifdef OP_RELOGIN
/* AJS: close persistent connection */
-void mail_userlogout_it(pils *imap_le_struct);
-void mail_nuke_chain(pils **headp);
+void mail_userlogout_it(zend_rsrc_list_entry *rsrc);
+void mail_nuke_chain(zend_rsrc_list_entry *rsrc);
#endif
function_entry imap_functions[] = {
@@ -180,16 +180,18 @@
#endif
-void mail_close_it(pils *imap_le_struct)
+void mail_close_it(zend_rsrc_list_entry *rsrc)
{
+ pils *imap_le_struct = (pils *)rsrc->ptr;
mail_close_full(imap_le_struct->imap_stream, imap_le_struct->flags);
efree(imap_le_struct);
}
#ifdef OP_RELOGIN
/* AJS: stream close functions for persistent connections */
-void mail_userlogout_it(pils *imap_le_struct)
+void mail_userlogout_it(zend_rsrc_list_entry *rsrc)
{
+ pils *imap_le_struct = (pils *)rsrc->ptr;
/* Close this user's session, putting the stream back
* into AUTHENTICATE state. (Note that IMAP does not
* support this behavior... yet)
@@ -198,8 +200,9 @@
mail_close_full(imap_le_struct->imap_stream, imap_le_struct->flags | CL_HALF);
}
-void mail_nuke_chain(pils **headp)
+void mail_nuke_chain(zend_rsrc_list_entry *rsrc)
{
+ pils **headp = (pils **)rsrc->ptr;
pils *node, *next;
for (node = *headp; node; node = next) {
@@ -589,11 +592,11 @@
ENCOTHER unknown
*/
- le_imap = register_list_destructors(mail_close_it,NULL);
+ le_imap = register_list_destructors(mail_close_it,NULL,"imap");
#ifdef OP_RELOGIN
/* AJS: destructors for persistent connections */
- le_pimap = register_list_destructors(mail_userlogout_it, NULL);
- le_pimapchain = register_list_destructors(NULL, mail_nuke_chain);
+ le_pimap = register_list_destructors(mail_userlogout_it, NULL, "imap persistent");
+ le_pimapchain = register_list_destructors(NULL, mail_nuke_chain, "imap chain
persistent");
#endif
return SUCCESS;
}
Index: php4/ext/ingres_ii/ii.c
diff -u php4/ext/ingres_ii/ii.c:1.10 php4/ext/ingres_ii/ii.c:1.11
--- php4/ext/ingres_ii/ii.c:1.10 Fri Sep 29 02:29:02 2000
+++ php4/ext/ingres_ii/ii.c Fri Oct 20 11:25:03 2000
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ii.c,v 1.10 2000/09/29 09:29:02 henot Exp $ */
+/* $Id: ii.c,v 1.11 2000/10/20 18:25:03 andrei Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -138,11 +138,7 @@
return 0;
}
-/* closes the given link, actually disconnecting from server
- and releasing associated resources after rolling back the
- active transaction (if any)
-*/
-static void _close_ii_link(II_LINK *link)
+static void close_ii_link(II_LINK *link)
{
IIAPI_DISCONNPARM disconnParm;
IILS_FETCH();
@@ -162,13 +158,25 @@
IIG(num_links)--;
}
+/* closes the given link, actually disconnecting from server
+ and releasing associated resources after rolling back the
+ active transaction (if any)
+*/
+static void php_close_ii_link(zend_rsrc_list_entry *rsrc)
+{
+ II_LINK *link = (II_LINK *)rsrc->ptr;
+ close_ii_link(link);
+}
+
+
/* closes the given persistent link, see _close_ii_link
*/
-static void _close_ii_plink(II_LINK *link)
+static void _close_ii_plink(zend_rsrc_list_entry *rsrc)
{
+ II_LINK *link = (II_LINK *)rsrc->ptr;
IILS_FETCH();
- _close_ii_link(link);
+ close_ii_link(link);
IIG(num_persistent)--;
}
@@ -176,8 +184,9 @@
used when the request ends to 'refresh' the link for use
by the next request
*/
-static void _clean_ii_plink(II_LINK *link)
+static void _clean_ii_plink(zend_rsrc_list_entry *rsrc)
{
+ II_LINK *link = (II_LINK *)rsrc->ptr;
IIAPI_AUTOPARM autoParm;
IILS_FETCH();
@@ -247,8 +256,8 @@
REGISTER_INI_ENTRIES();
- le_ii_link = register_list_destructors(_close_ii_link,NULL);
- le_ii_plink = register_list_destructors(_clean_ii_plink,_close_ii_plink);
+ le_ii_link = register_list_destructors(php_close_ii_link,NULL,"ingres");
+ le_ii_plink = register_list_destructors(_clean_ii_plink,php_close_ii_plink,"ingres
persistent");
IIG(num_persistent) = 0;
Index: php4/ext/interbase/interbase.c
diff -u php4/ext/interbase/interbase.c:1.45 php4/ext/interbase/interbase.c:1.46
--- php4/ext/interbase/interbase.c:1.45 Tue Oct 17 10:46:14 2000
+++ php4/ext/interbase/interbase.c Fri Oct 20 11:25:04 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: interbase.c,v 1.45 2000/10/17 17:46:14 jah Exp $ */
+/* $Id: interbase.c,v 1.46 2000/10/20 18:25:04 andrei Exp $ */
/* TODO: Arrays, roles?
@@ -332,10 +332,16 @@
}
/* }}} */
+static void php_ibase_commit_link_rsrc(zend_rsrc_list_entry *rsrc)
+{
+ ibase_db_link *link = (ibase_db_link *)rsrc->ptr;
+ _php_ibase_commit_link(link);
+}
/* {{{ _php_ibase_close_link() */
-static void _php_ibase_close_link(ibase_db_link *link)
+static void _php_ibase_close_link(zend_rsrc_list_entry *rsrc)
{
+ ibase_db_link *link = (ibase_db_link *)rsrc->ptr;
IBLS_FETCH();
_php_ibase_commit_link(link);
@@ -348,8 +354,9 @@
/* {{{ _php_ibase_close_plink() */
-static void _php_ibase_close_plink(ibase_db_link *link)
+static void _php_ibase_close_plink(zend_rsrc_list_entry *rsrc)
{
+ ibase_db_link *link = (ibase_db_link *)rsrc->ptr;
IBLS_FETCH();
_php_ibase_commit_link(link);
@@ -363,8 +370,9 @@
/* {{{ _php_ibase_free_result() */
-static void _php_ibase_free_result(ibase_result *ib_result)
+static void _php_ibase_free_result(zend_rsrc_list_entry *rsrc)
{
+ ibase_result *ib_result = (ibase_result *)rsrc->ptr;
IBLS_FETCH();
IBDEBUG("Freeing result...");
@@ -426,10 +434,16 @@
}
/* }}} */
+static void php_ibase_free_query_rsrc(zend_rsrc_list_entry *rsrc)
+{
+ ibase_query *query = (ibase_auery *)rsrc->ptr;
+ _php_ibase_free_query(query);
+}
/* {{{ _php_ibase_free_blob() */
-static void _php_ibase_free_blob(ibase_blob_handle *ib_blob)
+static void _php_ibase_free_blob(zend_rsrc_list_entry *rsrc)
{
+ ibase_blob_handle *ib_blob = (ibase_blob_handle *)rsrc->ptr;
IBLS_FETCH();
if (ib_blob->bl_handle != NULL) { /* blob open*/
@@ -443,8 +457,9 @@
/* {{{ _php_ibase_free_trans() */
-static void _php_ibase_free_trans(ibase_tr_link *ib_trans)
+static void _php_ibase_free_trans(zend_rsrc_list_entry *rsrc)
{
+ ibase_tr_link *ib_trans = (ibase_tr_link *)rsrc->ptr;
ibase_db_link *ib_link;
IBLS_FETCH();
@@ -494,12 +509,12 @@
REGISTER_INI_ENTRIES();
- le_result = register_list_destructors(_php_ibase_free_result, NULL);
- le_query = register_list_destructors(_php_ibase_free_query, NULL);
- le_blob = register_list_destructors(_php_ibase_free_blob, NULL);
- le_link = register_list_destructors(_php_ibase_close_link, NULL);
- le_plink = register_list_destructors(_php_ibase_commit_link, _php_ibase_close_plink);
- le_trans = register_list_destructors(_php_ibase_free_trans, NULL);
+ le_result = register_list_destructors(_php_ibase_free_result, NULL, "interbase result");
+ le_query = register_list_destructors(php_ibase_free_query_rsrc, NULL, "interbase
query");
+ le_blob = register_list_destructors(_php_ibase_free_blob, NULL, "interbase blob");
+ le_link = register_list_destructors(_php_ibase_close_link, NULL, "interbase link");
+ le_plink = register_list_destructors(php_ibase_commit_link_rsrc, _php_ibase_close_plink,
"interbase link persistent");
+ le_trans = register_list_destructors(_php_ibase_free_trans, NULL, "interbase
transaction");
REGISTER_LONG_CONSTANT("IBASE_DEFAULT", PHP_IBASE_DEFAULT, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IBASE_TEXT", PHP_IBASE_TEXT, CONST_PERSISTENT);
@@ -581,7 +596,7 @@
php_info_print_table_start();
php_info_print_table_row(2, "Interbase Support", "enabled");
- php_info_print_table_row(2, "Revision", "$Revision: 1.45 $");
+ php_info_print_table_row(2, "Revision", "$Revision: 1.46 $");
#ifdef COMPILE_DL_INTERBASE
php_info_print_table_row(2, "Dynamic Module", "yes");
#endif
Index: php4/ext/java/java.c
diff -u php4/ext/java/java.c:1.37 php4/ext/java/java.c:1.38
--- php4/ext/java/java.c:1.37 Thu Aug 17 03:14:47 2000
+++ php4/ext/java/java.c Fri Oct 20 11:25:04 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: java.c,v 1.37 2000/08/17 10:14:47 rubys Exp $ */
+/* $Id: java.c,v 1.38 2000/10/20 18:25:04 andrei Exp $ */
/*
* This module implements Zend OO syntax overloading support for Java
@@ -592,7 +592,9 @@
/***************************************************************************/
-static void _php_java_destructor(void *jobject) {
+static void _php_java_destructor(zend_rsrc_list_entry *rsrc)
+{
+ void *jobject = (void *)rsrc->ptr;
JG_FETCH();
if (JG(jenv)) (*JG(jenv))->DeleteGlobalRef(JG(jenv), jobject);
}
@@ -611,7 +613,7 @@
zend_register_internal_class(&java_class_entry);
- le_jobject = register_list_destructors(_php_java_destructor,NULL);
+ le_jobject = register_list_destructors(_php_java_destructor,NULL,"java");
REGISTER_INI_ENTRIES();
Index: php4/ext/ldap/ldap.c
diff -u php4/ext/ldap/ldap.c:1.65 php4/ext/ldap/ldap.c:1.66
--- php4/ext/ldap/ldap.c:1.65 Wed Oct 18 00:47:51 2000
+++ php4/ext/ldap/ldap.c Fri Oct 20 11:25:04 2000
@@ -23,7 +23,7 @@
*/
-/* $Id: ldap.c,v 1.65 2000/10/18 07:47:51 venaas Exp $ */
+/* $Id: ldap.c,v 1.66 2000/10/20 18:25:04 andrei Exp $ */
#define IS_EXT_MODULE
#include "php.h"
@@ -118,8 +118,9 @@
#endif
-static void _close_ldap_link(LDAP *ld)
+static void _close_ldap_link(zend_rsrc_list_entry *rsrc)
{
+ LDAP *ld = (LDAP *)rsrc->ptr;
LDAPLS_FETCH();
ldap_unbind_s(ld);
@@ -128,8 +129,9 @@
}
-static void _free_ldap_result(LDAPMessage *result)
+static void _free_ldap_result(zend_rsrc_list_entry *rsrc)
{
+ LDAPMessage *result = (LDAPMessage *)rsrc->ptr;
ldap_msgfree(result);
}
@@ -179,8 +181,8 @@
REGISTER_MAIN_LONG_CONSTANT("GSLC_SSL_TWOWAY_AUTH", GSLC_SSL_TWOWAY_AUTH,
CONST_PERSISTENT | CONST_CS);
#endif
- le_result = register_list_destructors(_free_ldap_result, NULL);
- le_link = register_list_destructors(_close_ldap_link, NULL);
+ le_result = register_list_destructors(_free_ldap_result, NULL, "ldap result");
+ le_link = register_list_destructors(_close_ldap_link, NULL, "ldap link");
ldap_module_entry.type = type;
@@ -222,7 +224,7 @@
php_info_print_table_start();
php_info_print_table_row(2, "LDAP Support", "enabled" );
- php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.65 2000/10/18 07:47:51
venaas Exp $" );
+ php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.66 2000/10/20 18:25:04
andrei Exp $" );
php_info_print_table_row(2, "Total Links", maxl );
#ifdef LDAP_API_VERSION
snprintf(ldapapiversion, 31, "%ld", LDAP_API_VERSION);
Index: php4/ext/mcal/php_mcal.c
diff -u php4/ext/mcal/php_mcal.c:1.35 php4/ext/mcal/php_mcal.c:1.36
--- php4/ext/mcal/php_mcal.c:1.35 Wed Oct 18 07:24:19 2000
+++ php4/ext/mcal/php_mcal.c Fri Oct 20 11:25:04 2000
@@ -125,8 +125,9 @@
char *mcal_user;
char *mcal_password;
-CALSTREAM *cal_close_it (pils *mcal_le_struct)
+CALSTREAM *cal_close_it (zend_rsrc_list_entry *rsrc)
{
+ pils *mcal_le_struct = (pils *)rsrc->ptr;
CALSTREAM *ret;
ret = cal_close (mcal_le_struct->mcal_stream,0);
efree(mcal_le_struct);
@@ -151,7 +152,7 @@
PHP_MINIT_FUNCTION(mcal)
{
- le_mcal = register_list_destructors(cal_close_it,NULL);
+ le_mcal = register_list_destructors(cal_close_it,NULL,"mcal");
REGISTER_MAIN_LONG_CONSTANT("MCAL_SUNDAY",SUNDAY, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("MCAL_MONDAY",MONDAY, CONST_PERSISTENT | CONST_CS);
Index: php4/ext/msql/php_msql.c
diff -u php4/ext/msql/php_msql.c:1.22 php4/ext/msql/php_msql.c:1.23
--- php4/ext/msql/php_msql.c:1.22 Wed Aug 9 10:56:36 2000
+++ php4/ext/msql/php_msql.c Fri Oct 20 11:25:05 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_msql.c,v 1.22 2000/08/09 17:56:36 thies Exp $ */
+/* $Id: php_msql.c,v 1.23 2000/10/20 18:25:05 andrei Exp $ */
#include "php.h"
#include "php_msql.h"
@@ -116,9 +116,9 @@
ZEND_FETCH_RESOURCE(msql_query, m_query *, &res, -1, "mSQL result",
msql_globals.le_query); \
msql_result = msql_query->result
-static void _delete_query(void *arg)
+static void _delete_query(zend_rsrc_list_entry *rsrc)
{
- m_query *query = (m_query *) arg;
+ m_query *query = (m_query *)rsrc->ptr;
if(query->result) msqlFreeResult(query->result);
efree(arg);
@@ -134,15 +134,17 @@
return query;
}
-static void _close_msql_link(int link)
+static void _close_msql_link(zend_rsrc_list_entry *rsrc)
{
+ int link = (int)rsrc->ptr;
msqlClose(link);
msql_globals.num_links--;
}
-static void _close_msql_plink(int link)
+static void _close_msql_plink(zend_rsrc_list_entry *rsrc)
{
+ int link = (int)rsrc->ptr;
msqlClose(link);
msql_globals.num_persistent--;
msql_globals.num_links--;
@@ -160,9 +162,9 @@
msql_globals.max_links=-1;
}
msql_globals.num_persistent=0;
- msql_globals.le_query = register_list_destructors(_delete_query,NULL);
- msql_globals.le_link = register_list_destructors(_close_msql_link,NULL);
- msql_globals.le_plink = register_list_destructors(NULL,_close_msql_plink);
+ msql_globals.le_query = register_list_destructors(_delete_query,NULL,"msql query");
+ msql_globals.le_link = register_list_destructors(_close_msql_link,NULL,"msql link");
+ msql_globals.le_plink = register_list_destructors(NULL,_close_msql_plink, "msql link
persistent");
msql_module_entry.type = type;
Index: php4/ext/mssql/php_mssql.c
diff -u php4/ext/mssql/php_mssql.c:1.26 php4/ext/mssql/php_mssql.c:1.27
--- php4/ext/mssql/php_mssql.c:1.26 Thu Aug 31 12:25:31 2000
+++ php4/ext/mssql/php_mssql.c Fri Oct 20 11:25:05 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_mssql.c,v 1.26 2000/08/31 19:25:31 fmk Exp $ */
+/* $Id: php_mssql.c,v 1.27 2000/10/20 18:25:05 andrei Exp $ */
#ifdef COMPILE_DL_MSSQL
#define HAVE_MSSQL 1
@@ -133,8 +133,9 @@
return 0;
}
-static void _free_mssql_result(mssql_result *result)
+static void _free_mssql_result(zend_rsrc_list_entry *rsrc)
{
+ mssql_result *result = (mssql_result *)rsrc->ptr;
int i,j;
if (result->data) {
@@ -168,8 +169,9 @@
zend_list_addref(id);
}
-static void _close_mssql_link(mssql_link *mssql_ptr)
+static void _close_mssql_link(zend_rsrc_list_entry *rsrc)
{
+ mssql_link *mssql_ptr = (mssql_link *)rsrc->ptr;
MSSQLLS_FETCH();
ELS_FETCH();
@@ -182,8 +184,9 @@
}
-static void _close_mssql_plink(mssql_link *mssql_ptr)
+static void _close_mssql_plink(zend_rsrc_list_entry *rsrc)
{
+ mssql_link *mssql_ptr = (mssql_link *)rsrc->ptr;
MSSQLLS_FETCH();
dbclose(mssql_ptr->link);
@@ -217,9 +220,9 @@
#endif
REGISTER_INI_ENTRIES();
- le_result = register_list_destructors(_free_mssql_result, NULL);
- le_link = register_list_destructors(_close_mssql_link, NULL);
- le_plink = register_list_destructors(NULL, _close_mssql_plink);
+ le_result = register_list_destructors(_free_mssql_result, NULL, "mssql result");
+ le_link = register_list_destructors(_close_mssql_link, NULL, "mssql link");
+ le_plink = register_list_destructors(NULL, _close_mssql_plink, "mssql link persistent");
mssql_module_entry.type = type;
if (dbinit()==FAIL) {
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.54 php4/ext/mysql/php_mysql.c:1.55
--- php4/ext/mysql/php_mysql.c:1.54 Wed Oct 11 11:27:21 2000
+++ php4/ext/mysql/php_mysql.c Fri Oct 20 11:25:05 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_mysql.c,v 1.54 2000/10/11 18:27:21 zeev Exp $ */
+/* $Id: php_mysql.c,v 1.55 2000/10/20 18:25:05 andrei Exp $ */
/* TODO:
@@ -164,8 +164,9 @@
* This wrapper is required since mysql_free_result() returns an integer, and
* thus, cannot be used directly
*/
-static void _free_mysql_result(MYSQL_RES *mysql_result)
+static void _free_mysql_result(zend_rsrc_list_entry *rsrc)
{
+ MYSQL_RES *mysql_result = (MYSQL_RES *)rsrc->ptr;
mysql_free_result(mysql_result);
}
@@ -182,8 +183,9 @@
}
-static void _close_mysql_link(MYSQL *link)
+static void _close_mysql_link(zend_rsrc_list_entry *rsrc)
{
+ MYSQL *link = (MYSQL *)rsrc->ptr;
void (*handler) (int);
MySLS_FETCH();
@@ -194,8 +196,9 @@
MySG(num_links)--;
}
-static void _close_mysql_plink(MYSQL *link)
+static void _close_mysql_plink(zend_rsrc_list_entry *rsrc)
{
+ MYSQL *link = (MYSQL *)rsrc->ptr;
void (*handler) (int);
MySLS_FETCH();
@@ -258,9 +261,9 @@
ZEND_INIT_MODULE_GLOBALS(mysql, php_mysql_init_globals, NULL);
REGISTER_INI_ENTRIES();
- le_result = register_list_destructors(_free_mysql_result,NULL);
- le_link = register_list_destructors(_close_mysql_link,NULL);
- le_plink = register_list_destructors(NULL,_close_mysql_plink);
+ le_result = register_list_destructors(_free_mysql_result,NULL,"mysql result");
+ le_link = register_list_destructors(_close_mysql_link,NULL, "mysql link");
+ le_plink = register_list_destructors(NULL,_close_mysql_plink, "mysql link persistent");
mysql_module_entry.type = type;
REGISTER_LONG_CONSTANT("MYSQL_ASSOC", MYSQL_ASSOC, CONST_CS | CONST_PERSISTENT);
Index: php4/ext/oci8/oci8.c
diff -u php4/ext/oci8/oci8.c:1.97 php4/ext/oci8/oci8.c:1.98
--- php4/ext/oci8/oci8.c:1.97 Sat Oct 7 02:10:54 2000
+++ php4/ext/oci8/oci8.c Fri Oct 20 11:25:06 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: oci8.c,v 1.97 2000/10/07 09:10:54 thies Exp $ */
+/* $Id: oci8.c,v 1.98 2000/10/20 18:25:06 andrei Exp $ */
/* TODO list:
*
@@ -114,10 +114,10 @@
static void oci_debug(const char *format, ...);
static void _oci_conn_list_dtor(oci_connection *connection);
-static void _oci_stmt_list_dtor(oci_statement *statement);
-static void _oci_descriptor_list_dtor(oci_descriptor *descriptor);
-static void _oci_server_list_dtor(oci_server *server);
-static void _oci_session_list_dtor(oci_session *session);
+static void _oci_stmt_list_dtor(zend_rsrc_list_entry *rsrc);
+static void _oci_descriptor_list_dtor(zend_rsrc_list_entry *rsrc);
+static void _oci_server_list_dtor(zend_rsrc_list_entry *rsrc);
+static void _oci_session_list_dtor(zend_rsrc_list_entry *rsrc);
static void _oci_column_hash_dtor(void *data);
static void _oci_define_hash_dtor(void *data);
@@ -361,11 +361,11 @@
php_oci_init_globals(OCILS_C);
#endif
- le_stmt = register_list_destructors(_oci_stmt_list_dtor, NULL);
- le_conn = register_list_destructors(_oci_conn_list_dtor, NULL);
- le_desc = register_list_destructors(_oci_descriptor_list_dtor, NULL);
- le_server = register_list_destructors(_oci_server_list_dtor, NULL);
- le_session = register_list_destructors(_oci_session_list_dtor, NULL);
+ le_stmt = register_list_destructors(_oci_stmt_list_dtor, NULL, "oci8 statement");
+ le_conn = register_list_destructors(php_oci_free_conn_list, NULL, "oci8 connection");
+ le_desc = register_list_destructors(_oci_descriptor_list_dtor, NULL, "oci8 descriptor");
+ le_server = register_list_destructors(_oci_server_list_dtor, NULL, "oci8 server");
+ le_session = register_list_destructors(_oci_session_list_dtor, NULL, "oci8 session");
INIT_CLASS_ENTRY(oci_lob_class_entry, "OCI-Lob", php_oci_lob_class_functions);
@@ -490,7 +490,7 @@
php_info_print_table_start();
php_info_print_table_row(2, "OCI8 Support", "enabled");
- php_info_print_table_row(2, "Revision", "$Revision: 1.97 $");
+ php_info_print_table_row(2, "Revision", "$Revision: 1.98 $");
#ifndef PHP_WIN32
php_info_print_table_row(2, "Oracle Version", PHP_OCI8_VERSION );
php_info_print_table_row(2, "Compile-time ORACLE_HOME", PHP_OCI8_DIR );
@@ -596,8 +596,9 @@
/* {{{ _oci_stmt_list_dtor() */
static void
-_oci_stmt_list_dtor(oci_statement *statement)
+_oci_stmt_list_dtor(zend_rsrc_list_entry *rsrc)
{
+ oci_statement *statement = (oci_statement *)rsrc->ptr;
oci_debug("START _oci_stmt_list_dtor: id=%d
last_query=\"%s\"",statement->id,SAFE_STRING(statement->last_query));
if (statement->pStmt) {
@@ -677,12 +678,20 @@
}
/* }}} */
+
+static void php_oci_free_conn_list(zend_rsrc_list_entry *rsrc)
+{
+ oci_connection *conn = (oci_connection *)rsrc->ptr;
+ _oci_conn_list_dtor(conn);
+}
+
/* {{{ _oci_descriptor_list_dtor()
*/
static void
-_oci_descriptor_list_dtor(oci_descriptor *descr)
+_oci_descriptor_list_dtor(zend_rsrc_list_entry *rsrc)
{
+ oci_descriptor *descr = (oci_descriptor *)rsrc->ptr;
oci_debug("START _oci_descriptor_list_dtor: %d",descr->id);
zend_list_delete(descr->conn->id);
@@ -699,8 +708,9 @@
*/
static void
-_oci_server_list_dtor(oci_server *server)
+_oci_server_list_dtor(zend_rsrc_list_entry *rsrc)
{
+ oci_server *server = (oci_server *)rsrc->ptr;
if (server->persistent)
return;
@@ -712,8 +722,9 @@
*/
static void
-_oci_session_list_dtor(oci_session *session)
+_oci_session_list_dtor(zend_rsrc_list_entry *rsrc)
{
+ oci_session *session = (oci_session *)rsrc->ptr;
if (session->persistent)
return;
Index: php4/ext/odbc/php_odbc.c
diff -u php4/ext/odbc/php_odbc.c:1.61 php4/ext/odbc/php_odbc.c:1.62
--- php4/ext/odbc/php_odbc.c:1.61 Fri Sep 29 12:03:23 2000
+++ php4/ext/odbc/php_odbc.c Fri Oct 20 11:25:08 2000
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_odbc.c,v 1.61 2000/09/29 19:03:23 kalowsky Exp $ */
+/* $Id: php_odbc.c,v 1.62 2000/10/20 18:25:08 andrei Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -137,8 +137,9 @@
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 _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 @@
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 @@
#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);
Index: php4/ext/odbc/velocis.c
diff -u php4/ext/odbc/velocis.c:1.21 php4/ext/odbc/velocis.c:1.22
--- php4/ext/odbc/velocis.c:1.21 Mon Jun 5 12:47:43 2000
+++ php4/ext/odbc/velocis.c Fri Oct 20 11:25:09 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: velocis.c,v 1.21 2000/06/05 19:47:43 andi Exp $ */
+/* $Id: velocis.c,v 1.22 2000/10/20 18:25:09 andrei Exp $ */
/*
* TODO:
@@ -73,15 +73,17 @@
THREAD_LS velocis_module php_velocis_module;
THREAD_LS static HENV henv;
-static void _close_velocis_link(VConn *conn)
+static void _close_velocis_link(zend_rsrc_list_entry *rsrc)
{
+ VConn *conn = (VConn *)rsrc->ptr;
if ( conn ) {
efree(conn);
}
}
-static void _free_velocis_result(Vresult *res)
+static void _free_velocis_result(zend_rsrc_list_entry *rsrc)
{
+ Vresult *res = (Vresult *)rsrc->ptr;
if ( res && res->values ) {
register int i;
for ( i=0; i < res->numcols; i++ ) {
@@ -102,8 +104,8 @@
php_velocis_module.max_links = -1;
}
php_velocis_module.num_links = 0;
- php_velocis_module.le_link = register_list_destructors(_close_velocis_link,NULL);
- php_velocis_module.le_result = register_list_destructors(_free_velocis_result,NULL);
+ php_velocis_module.le_link = register_list_destructors(_close_velocis_link,NULL,"velocis
link");
+ php_velocis_module.le_result = register_list_destructors(_free_velocis_result,NULL,"velocis
result");
return SUCCESS;
}
Index: php4/ext/oracle/oracle.c
diff -u php4/ext/oracle/oracle.c:1.54 php4/ext/oracle/oracle.c:1.55
--- php4/ext/oracle/oracle.c:1.54 Tue Oct 10 09:58:25 2000
+++ php4/ext/oracle/oracle.c Fri Oct 20 11:25:09 2000
@@ -65,7 +65,7 @@
static oraCursor *ora_get_cursor(HashTable *, pval **);
static char *ora_error(Cda_Def *);
static int ora_describe_define(oraCursor *);
-static int _close_oraconn(oraConnection *conn);
+static int _close_oraconn(zend_rsrc_list_entry *rsrc);
static int _close_oracur(oraCursor *cur);
static int _ora_ping(oraConnection *conn);
int ora_set_param_values(oraCursor *cursor, int isout);
@@ -181,8 +181,9 @@
ZEND_GET_MODULE(oracle)
#endif
-static int _close_oraconn(oraConnection *conn)
+static int _close_oraconn(zend_rsrc_list_entry *rsrc)
{
+ oraConnection *conn = (oraConnection *)rsrc->ptr;
ORALS_FETCH();
conn->open = 0;
@@ -248,6 +249,12 @@
return 1;
}
+static void php_close_ora_cursor(zend_rsrc_list_entry *rsrc)
+{
+ oraCursor *cur = (oraCursor *)rsrc->ptr;
+ _close_oracur(cur);
+}
+
static void php_ora_init_globals(ORALS_D)
{
if (cfg_get_long("oracle.allow_persistent",
@@ -283,9 +290,9 @@
php_ora_init_globals(ORALS_C);
#endif
- le_cursor = register_list_destructors(_close_oracur, NULL);
- le_conn = register_list_destructors(_close_oraconn, NULL);
- le_pconn = register_list_destructors(NULL, _close_oraconn);
+ le_cursor = register_list_destructors(php_close_ora_cursor, NULL, "oracle cursor");
+ le_conn = register_list_destructors(_close_oraconn, NULL, "oracle link");
+ le_pconn = register_list_destructors(NULL, _close_oraconn, "oracle link persistent");
REGISTER_LONG_CONSTANT("ORA_BIND_INOUT", 0, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("ORA_BIND_IN", 1, CONST_CS | CONST_PERSISTENT);
Index: php4/ext/pdf/pdf.c
diff -u php4/ext/pdf/pdf.c:1.55 php4/ext/pdf/pdf.c:1.56
--- php4/ext/pdf/pdf.c:1.55 Tue Oct 10 00:42:53 2000
+++ php4/ext/pdf/pdf.c Fri Oct 20 11:25:10 2000
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pdf.c,v 1.55 2000/10/10 07:42:53 steinm Exp $ */
+/* $Id: pdf.c,v 1.56 2000/10/20 18:25:10 andrei Exp $ */
/* pdflib 2.02 is subject to the ALADDIN FREE PUBLIC LICENSE.
Copyright (C) 1997 Thomas Merz. */
@@ -178,18 +178,20 @@
ZEND_GET_MODULE(pdf)
#endif
-static void _free_pdf_image(int image)
+static void _free_pdf_image(zend_rsrc_list_entry *rsrc)
{
}
-static void _free_pdf_doc(PDF *pdf)
+static void _free_pdf_doc(zend_rsrc_list_entry *rsrc)
{
+ PDF *pdf = (PDF *)rsrc->ptr;
PDF_close(pdf);
PDF_delete(pdf);
}
-static void _free_outline(int *outline)
+static void _free_outline(zend_rsrc_list_entry *rsrc)
{
+ int *outline = (int *)rsrc->ptr;
if(outline) efree(outline);
}
@@ -235,9 +237,9 @@
PHP_MINIT_FUNCTION(pdf)
{
- PDF_GLOBAL(le_pdf_image) = register_list_destructors(_free_pdf_image, NULL);
- PDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL);
- PDF_GLOBAL(le_pdf) = register_list_destructors(_free_pdf_doc, NULL);
+ PDF_GLOBAL(le_pdf_image) = register_list_destructors(_free_pdf_image, NULL, "pdf
image");
+ PDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL, "pdf outline");
+ PDF_GLOBAL(le_pdf) = register_list_destructors(_free_pdf_doc, NULL, "pdf document");
return SUCCESS;
}
Index: php4/ext/pgsql/pgsql.c
diff -u php4/ext/pgsql/pgsql.c:1.75 php4/ext/pgsql/pgsql.c:1.76
--- php4/ext/pgsql/pgsql.c:1.75 Wed Oct 11 11:00:18 2000
+++ php4/ext/pgsql/pgsql.c Fri Oct 20 11:25:10 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pgsql.c,v 1.75 2000/10/11 18:00:18 zeev Exp $ */
+/* $Id: pgsql.c,v 1.76 2000/10/20 18:25:10 andrei Exp $ */
#include <stdlib.h>
@@ -122,8 +122,9 @@
}
-static void _close_pgsql_link(PGconn *link)
+static void _close_pgsql_link(zend_rsrc_list_entry *rsrc)
{
+ PGconn *link = (PGconn *)rsrc->ptr;
PGLS_FETCH();
PQfinish(link);
@@ -131,8 +132,9 @@
}
-static void _close_pgsql_plink(PGconn *link)
+static void _close_pgsql_plink(zend_rsrc_list_entry *rsrc)
{
+ PGconn *link = (PGconn *)rsrc->ptr;
PGLS_FETCH();
PQfinish(link);
@@ -141,14 +143,16 @@
}
-static void _free_ptr(pgLofp *lofp)
+static void _free_ptr(zend_rsrc_list_entry *rsrc)
{
+ pgLofp *lofp = (pgLofp *)rsrc->ptr;
efree(lofp);
}
-static void _free_result(pgsql_result_handle *pg_result)
+static void _free_result(zend_rsrc_list_entry *rsrc)
{
+ pgsql_result_handle *pg_result = (pgsql_result_handle *)rsrc->ptr;
PQclear(pg_result->result);
efree(pg_result);
}
@@ -175,12 +179,12 @@
REGISTER_INI_ENTRIES();
- le_link = register_list_destructors(_close_pgsql_link,NULL);
- le_plink = register_list_destructors(NULL,_close_pgsql_plink);
+ le_link = register_list_destructors(_close_pgsql_link,NULL, "pgsql link");
+ le_plink = register_list_destructors(NULL,_close_pgsql_plink, "pgsql link persistent");
/* PGG(le_result = register_list_destructors(PQclear,NULL); */
- le_result = register_list_destructors(_free_result,NULL);
- le_lofp = register_list_destructors(_free_ptr,NULL);
- le_string = register_list_destructors(_free_ptr,NULL);
+ le_result = register_list_destructors(_free_result,NULL, "pgsql result");
+ le_lofp = register_list_destructors(_free_ptr,NULL, "pgsql large object");
+ le_string = register_list_destructors(_free_ptr,NULL, "pgsql string");
REGISTER_LONG_CONSTANT("PGSQL_ASSOC", PGSQL_ASSOC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PGSQL_NUM", PGSQL_NUM, CONST_CS | CONST_PERSISTENT);
Index: php4/ext/pspell/pspell.c
diff -u php4/ext/pspell/pspell.c:1.10 php4/ext/pspell/pspell.c:1.11
--- php4/ext/pspell/pspell.c:1.10 Thu Aug 10 13:57:40 2000
+++ php4/ext/pspell/pspell.c Fri Oct 20 11:25:10 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pspell.c,v 1.10 2000/08/10 20:57:40 vlad Exp $ */
+/* $Id: pspell.c,v 1.11 2000/10/20 18:25:10 andrei Exp $ */
#define IS_EXT_MODULE
@@ -68,11 +68,15 @@
ZEND_GET_MODULE(pspell)
#endif
-static void php_pspell_close(PspellManager *manager){
+static void php_pspell_close(zend_rsrc_list_entry *rsrc)
+{
+ PspellManager *manager = (PspellManager *)rsrc->ptr;
delete_pspell_manager(manager);
}
-static void php_pspell_close_config(PspellConfig *config){
+static void php_pspell_close_config(zend_rsrc_list_entry *rsrc)
+{
+ PspellConfig *config = (PspellConfig *)rsrc->ptr;
delete_pspell_config(config);
}
@@ -81,8 +85,8 @@
REGISTER_MAIN_LONG_CONSTANT("PSPELL_NORMAL", PSPELL_NORMAL, CONST_PERSISTENT |
CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("PSPELL_BAD_SPELLERS", PSPELL_BAD_SPELLERS, CONST_PERSISTENT
| CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("PSPELL_RUN_TOGETHER", PSPELL_RUN_TOGETHER, CONST_PERSISTENT
| CONST_CS);
- le_pspell = register_list_destructors(php_pspell_close,NULL);
- le_pspell_config = register_list_destructors(php_pspell_close_config,NULL);
+ le_pspell = register_list_destructors(php_pspell_close,NULL,"pspell");
+ le_pspell_config = register_list_destructors(php_pspell_close_config,NULL,"pspell
config");
return SUCCESS;
}
Index: php4/ext/sablot/sablot.c
diff -u php4/ext/sablot/sablot.c:1.9 php4/ext/sablot/sablot.c:1.10
--- php4/ext/sablot/sablot.c:1.9 Wed Oct 11 02:17:10 2000
+++ php4/ext/sablot/sablot.c Fri Oct 20 11:25:11 2000
@@ -32,7 +32,7 @@
#include "php_sablot.h"
/* Functions related to PHP's list handling */
-static void _php_sablot_free_processor(php_sablot *);
+static void _php_sablot_free_processor(zend_rsrc_list_entry *rsrc);
/* SAX Handlers */
static void _php_sablot_handler_pair(php_sablot *, zval **, zval **, zval **);
@@ -140,7 +140,7 @@
PHP_MINIT_FUNCTION(sablot)
{
SABLOTLS_FETCH();
- SABLOTG(le_sablot) = register_list_destructors(_php_sablot_free_processor, NULL);
+ SABLOTG(le_sablot) = register_list_destructors(_php_sablot_free_processor, NULL,
"sablotron");
return SUCCESS;
}
@@ -1058,8 +1058,9 @@
/* {{{ _php_sablot_free_processor()
Free a Sablot handle */
-static void _php_sablot_free_processor(php_sablot *handle)
+static void _php_sablot_free_processor(zend_rsrc_list_entry *rsrc)
{
+ php_sablot *handle = (php_sablot *)rsrc->ptr;
if (handle->p) {
SablotUnregHandler(handle->p, HLR_MESSAGE, NULL, NULL);
SablotUnregHandler(handle->p, HLR_SAX, NULL, NULL);
Index: php4/ext/shmop/shmop.c
diff -u php4/ext/shmop/shmop.c:1.5 php4/ext/shmop/shmop.c:1.6
--- php4/ext/shmop/shmop.c:1.5 Thu Oct 19 16:14:51 2000
+++ php4/ext/shmop/shmop.c Fri Oct 20 11:25:11 2000
@@ -60,19 +60,18 @@
ZEND_GET_MODULE(shmop)
#endif
-static void rsclean(struct php_shmop *shmop);
+static void rsclean(zend_rsrc_list_entry *rsrc)
+{
+ struct php_shmop *shmop = (struct php_shmop *)rsrc->ptr;
+ shmdt(shmop->addr);
+ efree(shmop);
+}
PHP_MINIT_FUNCTION(shmop)
{
- shm_type = register_list_destructors(rsclean, NULL);
+ shm_type = register_list_destructors(rsclean, NULL, "shmop");
return SUCCESS;
-}
-
-static void rsclean(struct php_shmop *shmop)
-{
- shmdt(shmop->addr);
- efree(shmop);
}
PHP_MSHUTDOWN_FUNCTION(shmop)
Index: php4/ext/sockets/sockets.c
diff -u php4/ext/sockets/sockets.c:1.14 php4/ext/sockets/sockets.c:1.15
--- php4/ext/sockets/sockets.c:1.14 Fri Sep 15 16:44:30 2000
+++ php4/ext/sockets/sockets.c Fri Oct 20 11:25:12 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: sockets.c,v 1.14 2000/09/15 23:44:30 chrisv Exp $ */
+/* $Id: sockets.c,v 1.15 2000/10/20 18:25:12 andrei Exp $ */
#include "php.h"
@@ -149,17 +149,15 @@
ZEND_GET_MODULE(sockets)
#endif
-static void destroy_fd_sets(fd_set *set);
-static void destroy_iovec(php_iovec_t *iov);
-
-
-static void destroy_fd_sets(fd_set *set)
+static void destroy_fd_sets(zend_rsrc_list_entry *rsrc)
{
+ fd_set *set = (fd_set *)rsrc->ptr;
efree(set);
}
-static void destroy_iovec(php_iovec_t *iov)
+static void destroy_iovec(zend_rsrc_list_entry *rsrc)
{
+ php_iovec_t *iov = (php_iovec_t *)rsrc->ptr;
int i;
if (iov->count && iov->iov_array) {
@@ -175,8 +173,8 @@
PHP_MINIT_FUNCTION(sockets)
{
SOCKETSLS_FETCH();
- SOCKETSG(le_destroy) = register_list_destructors(destroy_fd_sets, NULL);
- SOCKETSG(le_iov) = register_list_destructors(destroy_iovec, NULL);
+ SOCKETSG(le_destroy) = register_list_destructors(destroy_fd_sets, NULL, "sockets file
descriptor set");
+ SOCKETSG(le_iov) = register_list_destructors(destroy_iovec, NULL, "sockets i/o
vector");
REGISTER_LONG_CONSTANT("AF_UNIX", AF_UNIX, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("AF_INET", AF_INET, CONST_CS | CONST_PERSISTENT);
Index: php4/ext/standard/dir.c
diff -u php4/ext/standard/dir.c:1.45 php4/ext/standard/dir.c:1.46
--- php4/ext/standard/dir.c:1.45 Wed Oct 18 07:14:13 2000
+++ php4/ext/standard/dir.c Fri Oct 20 11:25:12 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dir.c,v 1.45 2000/10/18 14:14:13 sniper Exp $ */
+/* $Id: dir.c,v 1.46 2000/10/20 18:25:12 andrei Exp $ */
/* {{{ includes/startup/misc */
@@ -107,8 +107,9 @@
}
-static void _dir_dtor(php_dir *dirp)
+static void _dir_dtor(zend_rsrc_list_entry *rsrc)
{
+ php_dir *dirp = (php_dir *)rsrc->ptr;
closedir(dirp->dir);
efree(dirp);
}
@@ -125,7 +126,7 @@
{
zend_class_entry dir_class_entry;
- le_dirp = register_list_destructors(_dir_dtor,NULL);
+ le_dirp = register_list_destructors(_dir_dtor,NULL, "dir");
INIT_CLASS_ENTRY(dir_class_entry, "Directory", php_dir_class_functions);
dir_class_entry_ptr = zend_register_internal_class(&dir_class_entry);
Index: php4/ext/standard/file.c
diff -u php4/ext/standard/file.c:1.116 php4/ext/standard/file.c:1.117
--- php4/ext/standard/file.c:1.116 Wed Sep 27 09:08:26 2000
+++ php4/ext/standard/file.c Fri Oct 20 11:25:12 2000
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: file.c,v 1.116 2000/09/27 16:08:26 sas Exp $ */
+/* $Id: file.c,v 1.117 2000/10/20 18:25:12 andrei Exp $ */
/* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
@@ -108,10 +108,6 @@
php_file_globals file_globals;
#endif
-static void _file_fopen_dtor(FILE *pipe);
-static void _file_popen_dtor(FILE *pipe);
-static void _file_socket_dtor(int *sock);
-
/* sharing globals is *evil* */
static int le_fopen, le_popen, le_socket;
@@ -119,15 +115,17 @@
/* }}} */
/* {{{ Module-Stuff */
-static void _file_popen_dtor(FILE *pipe)
+static void _file_popen_dtor(zend_rsrc_list_entry *rsrc)
{
+ FILE *pipe = (FILE *)rsrc->ptr;
FIL_FETCH();
FIL(pclose_ret) = pclose(pipe);
}
-static void _file_socket_dtor(int *sock)
+static void _file_socket_dtor(zend_rsrc_list_entry *rsrc)
{
+ int *sock = (int *)rsrc->ptr;
SOCK_FCLOSE(*sock);
#if HAVE_SHUTDOWN
shutdown(*sock, 0);
@@ -136,8 +134,9 @@
}
-static void _file_fopen_dtor(FILE *fp)
+static void _file_fopen_dtor(zend_rsrc_list_entry *rsrc)
{
+ FILE *fp = (FILE *)rsrc->ptr;
fclose(fp);
}
@@ -169,9 +168,9 @@
PHP_MINIT_FUNCTION(file)
{
- le_fopen = register_list_destructors(_file_fopen_dtor, NULL);
- le_popen = register_list_destructors(_file_popen_dtor, NULL);
- le_socket = register_list_destructors(_file_socket_dtor, NULL);
+ le_fopen = register_list_destructors(_file_fopen_dtor, NULL, "file");
+ le_popen = register_list_destructors(_file_popen_dtor, NULL, "pipe");
+ le_socket = register_list_destructors(_file_socket_dtor, NULL, "socket");
#ifdef ZTS
file_globals_id = ts_allocate_id(sizeof(php_file_globals), (ts_allocate_ctor)
php_file_init_globals, NULL);
Index: php4/ext/standard/var.c
diff -u php4/ext/standard/var.c:1.74 php4/ext/standard/var.c:1.75
--- php4/ext/standard/var.c:1.74 Wed Oct 18 11:32:32 2000
+++ php4/ext/standard/var.c Fri Oct 20 11:25:12 2000
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: var.c,v 1.74 2000/10/18 18:32:32 sas Exp $ */
+/* $Id: var.c,v 1.75 2000/10/20 18:25:12 andrei Exp $ */
/* {{{ includes
@@ -97,9 +97,9 @@
PUTS("}\n");
break;
case IS_RESOURCE: {
- int type;
- zend_list_find((*struc)->value.lval, &type);
- php_printf("%sresource(%ld) of type %d\n", COMMON, (*struc)->value.lval, type);
+ char *type_name;
+ type_name = zend_rsrc_list_get_rsrc_type((*struc)->value.lval);
+ php_printf("%sresource(%ld) of type (%s)\n", COMMON, (*struc)->value.lval,
type_name ? type_name : "Unknown");
break;
}
default:
Index: php4/ext/sybase/php_sybase_db.c
diff -u php4/ext/sybase/php_sybase_db.c:1.6 php4/ext/sybase/php_sybase_db.c:1.7
--- php4/ext/sybase/php_sybase_db.c:1.6 Thu Oct 19 09:10:40 2000
+++ php4/ext/sybase/php_sybase_db.c Fri Oct 20 11:25:12 2000
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_sybase_db.c,v 1.6 2000/10/19 16:10:40 joey Exp $ */
+/* $Id: php_sybase_db.c,v 1.7 2000/10/20 18:25:12 andrei Exp $ */
#include "php.h"
@@ -132,8 +132,9 @@
}
-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 _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_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_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;
}
Index: php4/ext/sybase_ct/php_sybase_ct.c
diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.35 php4/ext/sybase_ct/php_sybase_ct.c:1.36
--- php4/ext/sybase_ct/php_sybase_ct.c:1.35 Thu Oct 19 10:03:25 2000
+++ php4/ext/sybase_ct/php_sybase_ct.c Fri Oct 20 11:25:13 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_sybase_ct.c,v 1.35 2000/10/19 17:03:25 joey Exp $ */
+/* $Id: php_sybase_ct.c,v 1.36 2000/10/20 18:25:13 andrei Exp $ */
#include "php.h"
@@ -127,9 +127,15 @@
efree(result);
}
+static void php_free_sybase_result(zend_rsrc_list_entry *rsrc)
+{
+ sybase_result *result = (sybase_result *)rsrc->ptr;
+ _free_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;
CS_INT con_status;
ELS_FETCH();
SybCtLS_FETCH();
@@ -160,8 +166,9 @@
}
-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;
CS_INT con_status;
SybCtLS_FETCH();
@@ -315,9 +322,9 @@
REGISTER_INI_ENTRIES();
- le_link = register_list_destructors(_close_sybase_link,NULL);
- le_plink = register_list_destructors(NULL,_close_sybase_plink);
- le_result = register_list_destructors(_free_sybase_result,NULL);
+ le_link = register_list_destructors(_close_sybase_link,NULL, "sybase-ct link");
+ le_plink = register_list_destructors(NULL,_close_sybase_plink, "sybase-ct link
persistent");
+ le_result = register_list_destructors(php_free_sybase_result,NULL, "sybase-ct result");
return SUCCESS;
}
Index: php4/ext/sysvsem/sysvsem.c
diff -u php4/ext/sysvsem/sysvsem.c:1.24 php4/ext/sysvsem/sysvsem.c:1.25
--- php4/ext/sysvsem/sysvsem.c:1.24 Mon Jun 5 12:47:45 2000
+++ php4/ext/sysvsem/sysvsem.c Fri Oct 20 11:25:13 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: sysvsem.c,v 1.24 2000/06/05 19:47:45 andi Exp $ */
+/* $Id: sysvsem.c,v 1.25 2000/10/20 18:25:13 andrei Exp $ */
/* This has been built and tested on Solaris 2.6 and Linux 2.1.122.
* It may not compile or execute correctly on other systems.
@@ -87,8 +87,9 @@
#define SYSVSEM_SETVAL 2
-static void release_sysvsem_sem(sysvsem_sem *sem_ptr)
+static void release_sysvsem_sem(zend_rsrc_list_entry *rsrc)
{
+ sysvsem_sem *sem_ptr = (sysvsem_sem *)rsrc->ptr;
struct sembuf sop[2];
/* Decrement the usage count. */
@@ -116,7 +117,7 @@
PHP_MINIT_FUNCTION(sysvsem)
{
- php_sysvsem_module.le_sem = register_list_destructors(release_sysvsem_sem, NULL);
+ php_sysvsem_module.le_sem = register_list_destructors(release_sysvsem_sem, NULL,
"sysvsem");
return SUCCESS;
}
Index: php4/ext/sysvshm/sysvshm.c
diff -u php4/ext/sysvshm/sysvshm.c:1.30 php4/ext/sysvshm/sysvshm.c:1.31
--- php4/ext/sysvshm/sysvshm.c:1.30 Sat Aug 12 13:45:48 2000
+++ php4/ext/sysvshm/sysvshm.c Fri Oct 20 11:25:13 2000
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: sysvshm.c,v 1.30 2000/08/12 20:45:48 eschmid Exp $ */
+/* $Id: sysvshm.c,v 1.31 2000/10/20 18:25:13 andrei Exp $ */
/* This has been built and tested on Solaris 2.6.
* It may not compile or execute correctly on other systems.
@@ -58,15 +58,16 @@
THREAD_LS sysvshm_module php_sysvshm;
-static void php_release_sysvshm(sysvshm_shm *shm_ptr)
+static void php_release_sysvshm(zend_rsrc_list_entry *rsrc)
{
+ sysvshm_shm *shm_ptr = (sysvshm_shm *)rsrc->ptr;
shmdt((void*)shm_ptr->ptr);
efree(shm_ptr);
}
PHP_MINIT_FUNCTION(sysvshm)
{
- php_sysvshm.le_shm = register_list_destructors(php_release_sysvshm, NULL);
+ php_sysvshm.le_shm = register_list_destructors(php_release_sysvshm, NULL, "sysvshm");
if (cfg_get_long("sysvshm.init_mem",
&php_sysvshm.init_mem)==FAILURE) {
php_sysvshm.init_mem=10000;
Index: php4/ext/wddx/wddx.c
diff -u php4/ext/wddx/wddx.c:1.56 php4/ext/wddx/wddx.c:1.57
--- php4/ext/wddx/wddx.c:1.56 Tue Sep 19 10:37:34 2000
+++ php4/ext/wddx/wddx.c Fri Oct 20 11:25:14 2000
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: wddx.c,v 1.56 2000/09/19 17:37:34 zeev Exp $ */
+/* $Id: wddx.c,v 1.57 2000/10/20 18:25:14 andrei Exp $ */
#include "php.h"
#include "php_wddx.h"
@@ -223,6 +223,11 @@
}
/* }}} */
+static void php_free_wddx_packet(zend_rsrc_list_entry *rsrc)
+{
+ wddx_packet *packet = (wddx_packet *)rsrc->ptr;
+ php_wddx_destructor(packet);
+}
/* {{{ php_wddx_destructor */
void php_wddx_destructor(wddx_packet *packet)
@@ -237,7 +242,7 @@
/* {{{ php_minit_wddx */
PHP_MINIT_FUNCTION(wddx)
{
- le_wddx = register_list_destructors(php_wddx_destructor, NULL);
+ le_wddx = register_list_destructors(php_free_wddx_packet, NULL, "wddx");
return SUCCESS;
}
Index: php4/ext/xml/xml.c
diff -u php4/ext/xml/xml.c:1.61 php4/ext/xml/xml.c:1.62
--- php4/ext/xml/xml.c:1.61 Thu Aug 31 07:09:59 2000
+++ php4/ext/xml/xml.c Fri Oct 20 11:25:15 2000
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: xml.c,v 1.61 2000/08/31 14:09:59 andrei Exp $ */
+/* $Id: xml.c,v 1.62 2000/10/20 18:25:15 andrei Exp $ */
#define IS_EXT_MODULE
#include "php.h"
@@ -69,7 +69,7 @@
PHP_RSHUTDOWN_FUNCTION(xml);
PHP_MINFO_FUNCTION(xml);
-static void xml_parser_dtor(xml_parser *);
+static void xml_parser_dtor(zend_rsrc_list_entry *rsrc);
static void xml_set_handler(zval **, zval **);
inline static unsigned short xml_encode_iso_8859_1(unsigned char);
inline static char xml_decode_iso_8859_1(unsigned short);
@@ -159,7 +159,7 @@
PHP_MINIT_FUNCTION(xml)
{
- le_xml_parser = register_list_destructors(xml_parser_dtor, NULL);
+ le_xml_parser = register_list_destructors(xml_parser_dtor, NULL, "xml");
#ifdef ZTS
xml_globals_id = ts_allocate_id(sizeof(php_xml_globals), (ts_allocate_ctor) php_xml_init_globals,
NULL);
@@ -276,8 +276,9 @@
/* {{{ xml_parser_dtor() */
static void
-xml_parser_dtor(xml_parser *parser)
+xml_parser_dtor(zend_rsrc_list_entry *rsrc)
{
+ xml_parser *parser = (xml_parser *)rsrc->ptr;
if (parser->object) {
zval_del_ref(&parser->object);
Index: php4/ext/zlib/zlib.c
diff -u php4/ext/zlib/zlib.c:1.55 php4/ext/zlib/zlib.c:1.56
--- php4/ext/zlib/zlib.c:1.55 Thu Oct 12 17:09:31 2000
+++ php4/ext/zlib/zlib.c Fri Oct 20 11:25:15 2000
@@ -16,7 +16,7 @@
| Stefan Röhrich <sr@linux.de> |
+----------------------------------------------------------------------+
*/
-/* $Id: zlib.c,v 1.55 2000/10/13 00:09:31 hholzgra Exp $ */
+/* $Id: zlib.c,v 1.56 2000/10/20 18:25:15 andrei Exp $ */
#define IS_EXT_MODULE
#include "php_config.h"
@@ -127,7 +127,9 @@
ZEND_GET_MODULE(php_zlib)
#endif
-static void phpi_destructor_gzclose(gzFile *zp) {
+static void phpi_destructor_gzclose(zend_rsrc_list_entry *rsrc)
+{
+ gzFile *zp = (gzFile *)rsrc->ptr;
(void)gzclose(zp);
}
@@ -147,7 +149,7 @@
#else
ZLIBG(gzgetss_state)=0;
#endif
- le_zp = register_list_destructors(phpi_destructor_gzclose,NULL);
+ le_zp = register_list_destructors(phpi_destructor_gzclose,NULL,"zlib");
#if HAVE_FOPENCOOKIE
Index: php4/main/main.c
diff -u php4/main/main.c:1.325 php4/main/main.c:1.326
--- php4/main/main.c:1.325 Tue Oct 17 11:12:31 2000
+++ php4/main/main.c Fri Oct 20 11:25:16 2000
@@ -19,7 +19,7 @@
*/
-/* $Id: main.c,v 1.325 2000/10/17 18:12:31 zeev Exp $ */
+/* $Id: main.c,v 1.326 2000/10/20 18:25:16 andrei Exp $ */
#include <stdio.h>
@@ -854,7 +854,7 @@
#endif
SET_MUTEX(gLock);
- le_index_ptr = zend_register_list_destructors(NULL, NULL, 0);
+ le_index_ptr = zend_register_list_destructors_ex(NULL, NULL, "index pointer", 0);
FREE_MUTEX(gLock);
php_ini_mstartup();