CC->redirect_len = 0;
CC->redirect_alloc = SIZ;
CtdlOutputMsg(msgnum, MT_RFC822,
- (need_body ? HEADERS_ALL : HEADERS_ONLY),
+ (need_body ? HEADERS_ALL : HEADERS_FAST),
0, 1, NULL, 0);
if (!need_body) cprintf("\r\n"); /* extra trailing newline */
IMAP->cached_rfc822_data = CC->redirect_buffer;
*/
void imap_load_part(char *name, char *filename, char *partnum, char *disp,
void *content, char *cbtype, char *cbcharset, size_t length, char *encoding,
- void *cbuserdata)
+ char *cbid, void *cbuserdata)
{
char mbuf2[SIZ];
char *desired_section;
ptr = CC->redirect_buffer;
ok = 0;
- while ( (done_headers == 0) && (ptr = memreadline(ptr, buf, sizeof buf), *ptr != 0) ) {
+ do {
+ ptr = memreadline(ptr, buf, sizeof buf);
if (!isspace(buf[0])) {
ok = 0;
if (doing_headers == 0) ok = 1;
if (IsEmptyStr(buf)) done_headers = 1;
if (buf[0]=='\r') done_headers = 1;
if (buf[0]=='\n') done_headers = 1;
- }
+ if (*ptr == 0) done_headers = 1;
+ } while (!done_headers);
strcat(boiled_headers, "\r\n");
* fields, strip it down.
*/
else if (!strncasecmp(section, "HEADER", 6)) {
- CtdlOutputPreLoadedMsg(msg, MT_RFC822, HEADERS_ONLY, 0, 1, 0);
+ CtdlOutputPreLoadedMsg(msg, MT_RFC822, HEADERS_FAST, 0, 1, 0);
imap_strip_headers(section);
}
void imap_fetch_bodystructure_pre(
char *name, char *filename, char *partnum, char *disp,
void *content, char *cbtype, char *cbcharset, size_t length, char *encoding,
- void *cbuserdata
+ char *cbid, void *cbuserdata
) {
cprintf("(");
void imap_fetch_bodystructure_post(
char *name, char *filename, char *partnum, char *disp,
void *content, char *cbtype, char *cbcharset, size_t length, char *encoding,
- void *cbuserdata
+ char *cbid, void *cbuserdata
) {
char subtype[128];
void imap_fetch_bodystructure_part(
char *name, char *filename, char *partnum, char *disp,
void *content, char *cbtype, char *cbcharset, size_t length, char *encoding,
- void *cbuserdata
+ char *cbid, void *cbuserdata
) {
int have_cbtype = 0;
CC->redirect_alloc = 0;
ptr = rfc822;
- while (ptr = memreadline(ptr, buf, sizeof buf), *ptr != 0) {
+ do {
+ ptr = memreadline(ptr, buf, sizeof buf);
++lines;
if ((IsEmptyStr(buf)) && (rfc822_body == NULL)) {
rfc822_body = ptr;
}
- }
+ } while (*ptr != 0);
rfc822_headers_len = rfc822_body - rfc822;
rfc822_body_len = rfc822_len - rfc822_headers_len;