mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
- fix imap_fetchbody(); there is no default mailgets()
This commit is contained in:
parent
9494521055
commit
a146043c25
@ -68,8 +68,6 @@ static void _php_imap_add_body(zval *arg, BODY *body TSRMLS_DC);
|
||||
static void _php_imap_parse_address(ADDRESS *addresslist, char **fulladdress, zval *paddress TSRMLS_DC);
|
||||
static int _php_imap_address_size(ADDRESS *addresslist);
|
||||
|
||||
/* c-clients gets */
|
||||
static mailgets_t old_mail_gets;
|
||||
/* the gets we use */
|
||||
static char *php_mail_gets(readfn_t f, void *stream, unsigned long size, GETS_DATA *md);
|
||||
|
||||
@ -469,7 +467,6 @@ PHP_MINIT_FUNCTION(imap)
|
||||
REGISTER_LONG_CONSTANT("NIL", NIL, CONST_PERSISTENT | CONST_CS);
|
||||
|
||||
/* plug in our gets */
|
||||
old_mail_gets = mail_parameters(NIL, GET_GETS, NIL);
|
||||
mail_parameters(NIL, SET_GETS, (void *) php_mail_gets);
|
||||
|
||||
/* set default timeout values */
|
||||
@ -4243,7 +4240,16 @@ static char *php_mail_gets(readfn_t f, void *stream, unsigned long size, GETS_DA
|
||||
}
|
||||
return NULL;
|
||||
} else {
|
||||
return old_mail_gets(f, stream, size, md);
|
||||
char *buf = malloc(size + 1);
|
||||
|
||||
if (f(stream, size, buf)) {
|
||||
buf[size] = '\0';
|
||||
} else {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to read from socket");
|
||||
efree(buf);
|
||||
buf = NULL;
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
Loading…
Reference in New Issue
Block a user