X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fimap%2Fimap_fetch.c;h=aa9a3dfc0a147eb5f08800ed9a9a1fca4d3a153d;hb=c590738f3932fdbf92d2a1b0cba6b60402254ee1;hp=fa6cc0c8492ed57c20fca25af0385110b9ecce06;hpb=f1ee61891901850ebbdee1e9440b363dc6df540a;p=citadel.git diff --git a/citadel/modules/imap/imap_fetch.c b/citadel/modules/imap/imap_fetch.c index fa6cc0c84..aa9a3dfc0 100644 --- a/citadel/modules/imap/imap_fetch.c +++ b/citadel/modules/imap/imap_fetch.c @@ -2,9 +2,9 @@ * Implements the FETCH command in IMAP. * This is a good example of the protocol's gratuitous complexity. * - * Copyright (c) 2001-2009 by the citadel.org team + * Copyright (c) 2001-2011 by the citadel.org team * - * This program is free software; you can redistribute it and/or modify + * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. @@ -243,7 +243,7 @@ void imap_fetch_rfc822(long msgnum, const char *whichfmt) { syslog(LOG_DEBUG, "RFC822: headers=" SIZE_T_FMT ", text=" SIZE_T_FMT - ", total=" SIZE_T_FMT "\n", + ", total=" SIZE_T_FMT, headers_size, text_size, total_size); if (!strcasecmp(whichfmt, "RFC822.SIZE")) { @@ -285,51 +285,51 @@ void imap_load_part(char *name, char *filename, char *partnum, char *disp, char *cbid, void *cbuserdata) { char mimebuf2[SIZ]; - char *desired_section; + StrBuf *desired_section; - desired_section = (char *)cbuserdata; - syslog(LOG_DEBUG, "imap_load_part() looking for %s, found %s\n", - desired_section, - partnum + desired_section = (StrBuf *)cbuserdata; + syslog(LOG_DEBUG, "imap_load_part() looking for %s, found %s", + ChrPtr(desired_section), + partnum ); - if (!strcasecmp(partnum, desired_section)) { - iaputs(content, length); + if (!strcasecmp(partnum, ChrPtr(desired_section))) { + client_write(content, length); } snprintf(mimebuf2, sizeof mimebuf2, "%s.MIME", partnum); - if (!strcasecmp(desired_section, mimebuf2)) { - IAPuts("Content-type: "); - _iaputs(cbtype); + if (!strcasecmp(ChrPtr(desired_section), mimebuf2)) { + client_write(HKEY("Content-type: ")); + client_write(cbtype, strlen(cbtype)); if (!IsEmptyStr(cbcharset)) { - IAPuts("; charset=\""); - _iaputs(cbcharset); - IAPuts("\""); + client_write(HKEY("; charset=\"")); + client_write(cbcharset, strlen(cbcharset)); + client_write(HKEY("\"")); } if (!IsEmptyStr(name)) { - IAPuts("; name=\""); - _iaputs(name); - IAPuts("\""); + client_write(HKEY("; name=\"")); + client_write(name, strlen(name)); + client_write(HKEY("\"")); } - IAPuts("\r\n"); + client_write(HKEY("\r\n")); if (!IsEmptyStr(encoding)) { - IAPuts("Content-Transfer-Encoding: "); - _iaputs(encoding); - IAPuts("\r\n"); + client_write(HKEY("Content-Transfer-Encoding: ")); + client_write(encoding, strlen(encoding)); + client_write(HKEY("\r\n")); } if (!IsEmptyStr(encoding)) { - IAPuts("Content-Disposition: "); - _iaputs(disp); + client_write(HKEY("Content-Disposition: ")); + client_write(disp, strlen(disp)); if (!IsEmptyStr(filename)) { - IAPuts("; filename=\""); - _iaputs(filename); - IAPuts("\""); + client_write(HKEY("; filename=\"")); + client_write(filename, strlen(filename)); + client_write(HKEY("\"")); } - IAPuts("\r\n"); + client_write(HKEY("\r\n")); } - IAPrintf("Content-Length: %ld\r\n\r\n", (long)length); + cprintf("Content-Length: %ld\r\n\r\n", (long)length); } } @@ -671,7 +671,7 @@ void imap_fetch_body(long msgnum, ConstStr item, int is_peek) { if (strchr(ChrPtr(section), '[') != NULL) { StrBufStripAllBut(section, '[', ']'); } - syslog(LOG_DEBUG, "Section is: [%s]\n", + syslog(LOG_DEBUG, "Section is: [%s]", (StrLength(section) == 0) ? "(empty)" : ChrPtr(section) ); @@ -705,7 +705,7 @@ void imap_fetch_body(long msgnum, ConstStr item, int is_peek) { is_partial = 1; } if ( (is_partial == 1) && (StrLength(partial) > 0) ) { - syslog(LOG_DEBUG, "Partial is <%s>\n", ChrPtr(partial)); + syslog(LOG_DEBUG, "Partial is <%s>", ChrPtr(partial)); } if (Imap->cached_body == NULL) { @@ -754,10 +754,10 @@ void imap_fetch_body(long msgnum, ConstStr item, int is_peek) { */ 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) { @@ -1133,17 +1133,16 @@ void imap_do_fetch(citimap_command *Cmd) { /* debug output the parsed vector */ { int i; - syslog(LOG_DEBUG, "----- %ld params \n", - Cmd->num_parms); + 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\n", + 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\n", + syslog(LOG_DEBUG, "%ld : %s", Cmd->Params[i].len, Cmd->Params[i].Key); }} @@ -1259,7 +1258,6 @@ int imap_extract_data_items(citimap_command *Cmd) int nArgs; int nest = 0; const char *pch, *end; - long initial_len; /* Convert all whitespace to ordinary space characters. */ pch = ChrPtr(Cmd->CmdBuf); @@ -1294,7 +1292,6 @@ int imap_extract_data_items(citimap_command *Cmd) */ nArgs = StrLength(Cmd->CmdBuf) / 10 + 10; nArgs = CmdAdjust(Cmd, nArgs, 0); - initial_len = StrLength(Cmd->CmdBuf); Cmd->num_parms = 0; Cmd->Params[Cmd->num_parms].Key = pch = ChrPtr(Cmd->CmdBuf); end = Cmd->Params[Cmd->num_parms].Key + StrLength(Cmd->CmdBuf); @@ -1468,7 +1465,7 @@ void imap_uidfetch(int num_parms, ConstStr *Params) { MakeStringOf(Cmd.CmdBuf, 4); #if 0 - syslog(LOG_DEBUG, "-------%s--------\n", ChrPtr(Cmd.CmdBuf)); + syslog(LOG_DEBUG, "-------%s--------", ChrPtr(Cmd.CmdBuf)); #endif num_items = imap_extract_data_items(&Cmd); if (num_items < 1) {