summaryrefslogtreecommitdiff
path: root/ext/imap/php_imap.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/imap/php_imap.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/imap/php_imap.c')
-rw-r--r--ext/imap/php_imap.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c
index 9a1fc6e061..c8c5f4aeaf 100644
--- a/ext/imap/php_imap.c
+++ b/ext/imap/php_imap.c
@@ -71,11 +71,11 @@ void *fs_get(size_t size);
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 @@ extern char imsp_password[80];
#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 @@ void mail_userlogout_it(pils *imap_le_struct)
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 @@ PHP_MINIT_FUNCTION(imap)
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;
}