iliaa Tue Oct 8 16:07:53 2002 EDT Modified files: /php4/ext/imap php_imap.c Log: Fixed bug #19280 Index: php4/ext/imap/php_imap.c diff -u php4/ext/imap/php_imap.c:1.140 php4/ext/imap/php_imap.c:1.141 --- php4/ext/imap/php_imap.c:1.140 Wed Sep 18 22:32:48 2002 +++ php4/ext/imap/php_imap.c Tue Oct 8 16:07:52 2002 @@ -26,7 +26,7 @@ | PHP 4.0 updates: Zeev Suraski <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_imap.c,v 1.140 2002/09/19 02:32:48 kalowsky Exp $ */ +/* $Id: php_imap.c,v 1.141 2002/10/08 20:07:52 iliaa Exp $ */ #define IMAP41 @@ -58,6 +58,7 @@ #define CRLF "\015\012" #define PHP_EXPUNGE 32768 +#define PHP_IMAP_ADDRESS_SIZE_BUF 10 static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC); static void _php_imap_add_body(zval *arg, BODY *body TSRMLS_DC); @@ -3546,7 +3547,7 @@ static int _php_imap_address_size (ADDRESS *addresslist) { ADDRESS *tmp; - int ret=0; + int ret=0, num_ent=0; tmp = addresslist; @@ -3555,10 +3556,15 @@ ret += (tmp->adl) ? strlen(tmp->adl) : 0; ret += (tmp->mailbox) ? strlen(tmp->mailbox) : 0; ret += (tmp->host) ? strlen(tmp->host) : 0; + num_ent++; } while ((tmp = tmp->next)); - /* rfc822_write_address_full() needs some extra space for '<>,', etc. */ - ret += (ret) ? MAILTMPLEN : 0; + /* + * rfc822_write_address_full() needs some extra space for '<>,', etc. + * for this perpouse we allocate additional PHP_IMAP_ADDRESS_SIZE_BUF bytes + * by default this buffer is 10 bytes long + */ + ret += (ret) ? num_ent*PHP_IMAP_ADDRESS_SIZE_BUF : 0; return ret; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php