Forget that previous patch to php_imap.c..

From: Date: Thu, 15 Jun 2000 00:32:12 +0000
Subject: Forget that previous patch to php_imap.c..
Groups: php.dev 
Request: Send a blank email to php-dev+get-21366@lists.php.net to get a copy of this message
..because here's the improved one! =) I was just thinking, that if all those messages are scanned when using imap_mailboxmsginfo(), why not adding info about 'Deleted' messages in the object also? It doesn't make it slower, does it? Anyway, here's the patch: Index: php_imap.c =================================================================== RCS file: /repository/php4/ext/imap/php_imap.c,v retrieving revision 1.28 diff -u -r1.28 php_imap.c --- php_imap.c 2000/06/14 12:28:20 1.28 +++ php_imap.c 2000/06/14 23:39:59 @@ -2044,8 +2044,8 @@ /* }}} */ -/* {{{ proto array imap_mailboxmsginfo(int stream_id) - Returns info about the current mailbox in an associative array */ +/* {{{ proto object imap_mailboxmsginfo(int stream_id) + Returns info about the current mailbox */ PHP_FUNCTION(imap_mailboxmsginfo) { zval **streamind; @@ -2053,7 +2053,7 @@ int ind, ind_type; unsigned int msgno; pils *imap_le_struct; - unsigned unreadmsg, msize; + unsigned unreadmsg, deletedmsg, msize; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &streamind) == FAILURE) { ZEND_WRONG_PARAM_COUNT(); @@ -2070,21 +2070,23 @@ RETURN_FALSE; } - /* Initialize return array */ + /* Initialize return object */ if (object_init(return_value) == FAILURE) { RETURN_FALSE; } unreadmsg = 0; + deletedmsg = 0; msize = 0; for (msgno = 1; msgno <= imap_le_struct->imap_stream->nmsgs; msgno++) { MESSAGECACHE * cache = mail_elt (imap_le_struct->imap_stream,msgno); mail_fetchstructure (imap_le_struct->imap_stream,msgno,NIL); - unreadmsg = cache->recent ? (cache->seen ? unreadmsg : unreadmsg++) : unreadmsg; - unreadmsg = (cache->recent | cache->seen) ? unreadmsg : unreadmsg++; + if(!cache->seen || cache->recent) unreadmsg++; + if(cache->deleted) deletedmsg++; msize = msize + cache->rfc822_size; } add_property_long(return_value, "Unread", unreadmsg); + add_property_long(return_value, "Deleted", deletedmsg); add_property_long(return_value, "Nmsgs", imap_le_struct->imap_stream->nmsgs); add_property_long(return_value, "Size", msize); rfc822_date(date);

« previous php.dev (#21366) next »