diff options
author | Andrei Zmievski <andrei@php.net> | 2000-10-20 18:25:16 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2000-10-20 18:25:16 +0000 |
commit | 7b4983c8f82c4f361df787f58c6f5cf88d5def0b (patch) | |
tree | e38e8ffceb65a0f2492b28e2b07c8668fcddeda4 /ext/imap/php_imap.c | |
parent | a0cfab65ea72963f81a3440a3587d11bd7800337 (diff) | |
download | php-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.c | 21 |
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; } |