* "RFC822.TEXT" body only (without leading blank line)
*/
void imap_fetch_rfc822(long msgnum, const char *whichfmt) {
- citimap *Imap = IMAP;
+ CitContext *CCC = CC;
+ citimap *Imap = CCCIMAP;
const char *ptr = NULL;
size_t headers_size, text_size, total_size;
size_t bytes_to_send = 0;
struct MetaData smi;
int need_to_rewrite_metadata = 0;
int need_body = 0;
- CitContext *CCC = CC;
/* Determine whether this particular fetch operation requires
* us to fetch the message body from disk. If not, we can save
CCC->redirect_buffer = NewStrBufPlain(NULL, SIZ);
CtdlOutputMsg(msgnum, MT_RFC822,
(need_body ? HEADERS_ALL : HEADERS_FAST),
- 0, 1, NULL, SUPPRESS_ENV_TO
+ 0, 1, NULL, SUPPRESS_ENV_TO, NULL, NULL
);
if (!need_body) IAPuts("\r\n"); /* extra trailing newline */
Imap->cached_rfc822 = CCC->redirect_buffer;
* intervening blank line to be part of the headers, not the text.
*/
headers_size = 0;
- text_size = 0;
- total_size = 0;
if (need_body) {
StrBuf *Line = NewStrBuf();
text_size = 0;
}
- syslog(LOG_DEBUG,
- "RFC822: headers=" SIZE_T_FMT
- ", text=" SIZE_T_FMT
- ", total=" SIZE_T_FMT,
- headers_size, text_size, total_size);
+ IMAP_syslog(LOG_DEBUG,
+ "RFC822: headers=" SIZE_T_FMT
+ ", text=" SIZE_T_FMT
+ ", total=" SIZE_T_FMT,
+ headers_size, text_size, total_size);
if (!strcasecmp(whichfmt, "RFC822.SIZE")) {
IAPrintf("RFC822.SIZE " SIZE_T_FMT, total_size);
void *content, char *cbtype, char *cbcharset, size_t length, char *encoding,
char *cbid, void *cbuserdata)
{
+ struct CitContext *CCC = CC;
char mimebuf2[SIZ];
- char *desired_section;
+ StrBuf *desired_section;
- desired_section = (char *)cbuserdata;
- syslog(LOG_DEBUG, "imap_load_part() looking for %s, found %s",
- desired_section,
- partnum
- );
+ desired_section = (StrBuf *)cbuserdata;
+ IMAP_syslog(LOG_DEBUG, "imap_load_part() looking for %s, found %s",
+ ChrPtr(desired_section),
+ partnum
+ );
- if (!strcasecmp(partnum, desired_section)) {
+ if (!strcasecmp(partnum, ChrPtr(desired_section))) {
client_write(content, length);
}
snprintf(mimebuf2, sizeof mimebuf2, "%s.MIME", partnum);
- if (!strcasecmp(desired_section, mimebuf2)) {
+ if (!strcasecmp(ChrPtr(desired_section), mimebuf2)) {
client_write(HKEY("Content-type: "));
client_write(cbtype, strlen(cbtype));
if (!IsEmptyStr(cbcharset)) {
StrBufSipLine(Line, CCC->redirect_buffer, &Ptr);
if (!isspace(ChrPtr(Line)[0])) {
- ok = 0;
+
if (doing_headers == 0) ok = 1;
else {
/* we're supposed to print all headers that are not matching the filter list */
int need_body = 1;
int burn_the_cache = 0;
CitContext *CCC = CC;
- citimap *Imap = IMAP;
+ citimap *Imap = CCCIMAP;
/* extract section */
section = NewStrBufPlain(CKEY(item));
if (strchr(ChrPtr(section), '[') != NULL) {
StrBufStripAllBut(section, '[', ']');
}
- syslog(LOG_DEBUG, "Section is: [%s]",
- (StrLength(section) == 0) ? "(empty)" : ChrPtr(section)
+ IMAP_syslog(LOG_DEBUG, "Section is: [%s]",
+ (StrLength(section) == 0) ? "(empty)" : ChrPtr(section)
);
/* Burn the cache if we don't have the same section of the
is_partial = 1;
}
if ( (is_partial == 1) && (StrLength(partial) > 0) ) {
- syslog(LOG_DEBUG, "Partial is <%s>", ChrPtr(partial));
+ IMAP_syslog(LOG_DEBUG, "Partial is <%s>", ChrPtr(partial));
}
if (Imap->cached_body == NULL) {
*/
else {
mime_parser(msg->cm_fields['M'], NULL,
- *imap_load_part, NULL, NULL,
- ChrPtr(section),
- 1
- );
+ *imap_load_part, NULL, NULL,
+ section,
+ 1
+ );
}
if (loading_body_now) {
/* debug output the parsed vector */
{
int i;
- syslog(LOG_DEBUG, "----- %ld params", Cmd->num_parms);
+ IMAP_syslog(LOG_DEBUG, "----- %ld params", Cmd->num_parms);
for (i=0; i < Cmd->num_parms; i++) {
if (Cmd->Params[i].len != strlen(Cmd->Params[i].Key))
- syslog(LOG_DEBUG, "*********** %ld != %ld : %s",
- Cmd->Params[i].len,
- strlen(Cmd->Params[i].Key),
- Cmd->Params[i].Key);
+ IMAP_syslog(LOG_DEBUG, "*********** %ld != %ld : %s",
+ Cmd->Params[i].len,
+ strlen(Cmd->Params[i].Key),
+ Cmd->Params[i].Key);
else
- syslog(LOG_DEBUG, "%ld : %s",
- Cmd->Params[i].len,
- Cmd->Params[i].Key);
+ IMAP_syslog(LOG_DEBUG, "%ld : %s",
+ Cmd->Params[i].len,
+ Cmd->Params[i].Key);
}}
#endif
MakeStringOf(Cmd.CmdBuf, 4);
#if 0
- syslog(LOG_DEBUG, "-------%s--------", ChrPtr(Cmd.CmdBuf));
+ IMAP_syslog(LOG_DEBUG, "-------%s--------", ChrPtr(Cmd.CmdBuf));
#endif
num_items = imap_extract_data_items(&Cmd);
if (num_items < 1) {