mirror of
https://github.com/php/php-src.git
synced 2024-11-30 05:13:56 +08:00
@- Fixed bug in imap_fetchheader() where using FT_PREFETCHTEXT didn't return
@ the body. Bug #4447. (Jani)
This commit is contained in:
parent
b59e98b87c
commit
ab13d02d53
@ -2621,8 +2621,10 @@ PHP_FUNCTION(imap_fetchheader)
|
||||
zval **streamind, **msgno, **flags;
|
||||
int ind, ind_type, msgindex;
|
||||
pils *imap_le_struct;
|
||||
char *body, *header, *tempstring;
|
||||
unsigned long blen, hlen;
|
||||
int myargc = ZEND_NUM_ARGS();
|
||||
|
||||
|
||||
if (myargc < 2 || myargc > 3 || zend_get_parameters_ex(myargc, &streamind, &msgno, &flags) == FAILURE) {
|
||||
ZEND_WRONG_PARAM_COUNT();
|
||||
}
|
||||
@ -2652,8 +2654,18 @@ PHP_FUNCTION(imap_fetchheader)
|
||||
php_error(E_WARNING, "Bad message number");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
RETVAL_STRING(mail_fetchheader_full(imap_le_struct->imap_stream, Z_LVAL_PP(msgno), NIL, NIL, myargc==3 ? Z_LVAL_PP(flags) : NIL), 1);
|
||||
|
||||
if ((myargc == 3) && (Z_LVAL_PP(flags) & FT_PREFETCHTEXT)) {
|
||||
header = mail_fetchheader_full(imap_le_struct->imap_stream, Z_LVAL_PP(msgno), NIL, &hlen, Z_LVAL_PP(flags));
|
||||
body = mail_fetchtext_full(imap_le_struct->imap_stream, Z_LVAL_PP(msgno), &blen, Z_LVAL_PP(flags));
|
||||
tempstring = emalloc(hlen+blen+1);
|
||||
strcpy(tempstring,header);
|
||||
strcat(tempstring,body);
|
||||
RETVAL_STRINGL(tempstring,(hlen+blen+1),1);
|
||||
efree(tempstring);
|
||||
} else {
|
||||
RETVAL_STRING(mail_fetchheader_full(imap_le_struct->imap_stream, Z_LVAL_PP(msgno), NIL, NIL, NIL), 1);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user