workaround a stupid issue in how decoding is performed in mutt *sigh*
[apps/madmutt.git] / imap / message.c
index cc339b7..1871be3 100644 (file)
@@ -12,7 +12,7 @@
 
 #include <lib-lib/lib-lib.h>
 
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
 #include <lib-mx/mx.h>
 #include <lib-mx/hcache.h>
 
@@ -79,7 +79,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
 
   /* instead of downloading all headers and then parsing them, we parse them
    * as they come in. */
-  fp = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+  fp = m_tempfile(tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL);
   if (!fp) {
     mutt_error(_("Could not create temporary file"));
     mutt_sleep(2);
@@ -96,7 +96,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
   idata->newMailCount = 0;
 
 #ifdef USE_HCACHE
-  if ((hc = mutt_hcache_open (HeaderCache, ctx->path))) {
+  if ((hc = mutt_hcache_open(ctx->path))) {
 
     snprintf (buf, sizeof (buf),
               "FETCH %d:%d (UID FLAGS)", msgbegin + 1, msgend + 1);
@@ -119,7 +119,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
           break;
 
         if ((mfhrc =
-            msg_fetch_header_fetch (idata->ctx, &h, idata->cmd.buf, fp)) == -1)
+            msg_fetch_header_fetch (idata->ctx, &h, idata->cmd.buf.data, fp)) == -1)
           continue;
         else if (mfhrc < 0)
           break;
@@ -212,7 +212,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
         break;
 
       if ((mfhrc =
-           msg_fetch_header (idata->ctx, &h, idata->cmd.buf, fp)) == -1)
+           msg_fetch_header (idata->ctx, &h, idata->cmd.buf.data, fp)) == -1)
         continue;
       else if (mfhrc < 0)
         break;
@@ -371,7 +371,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
     mutt_message _("Fetching message...");
 
   cache->uid = HEADER_DATA (h)->uid;
-  msg->fp = m_tempfile(path, sizeof(path), NONULL(MCore.tmpdir), NULL);
+  msg->fp = m_tempfile(path, sizeof(path), NONULL(mod_core.tmpdir), NULL);
   if (!msg->fp) {
     return -1;
   }
@@ -384,14 +384,14 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
 
   snprintf (buf, sizeof (buf), "UID FETCH %u %s", HEADER_DATA (h)->uid,
             (mutt_bit_isset (idata->capabilities, IMAP4REV1) ?
-             (option (OPTIMAPPEEK) ? "BODY.PEEK[]" : "BODY[]") : "RFC822"));
+             "BODY.PEEK[]" : "RFC822"));
 
   imap_cmd_start (idata, buf);
   do {
     if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
       break;
 
-    pc = idata->cmd.buf;
+    pc = idata->cmd.buf.data;
     pc = imap_next_word (pc);
     pc = imap_next_word (pc);
 
@@ -422,7 +422,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
           /* pick up trailing line */
           if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
             goto bail;
-          pc = idata->cmd.buf;
+          pc = idata->cmd.buf.data;
 
           fetched = 1;
         }
@@ -451,7 +451,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
   if (rc != IMAP_CMD_OK)
     goto bail;
 
-  if (!fetched || !imap_code (idata->cmd.buf))
+  if (!fetched || !imap_code (idata->cmd.buf.data))
     goto bail;
 
   /* Update the header information.  Previously, we only downloaded a
@@ -565,7 +565,7 @@ int imap_append_message (CONTEXT * ctx, MESSAGE * msg)
   if (rc != IMAP_CMD_RESPOND) {
     char *pc;
 
-    pc = vskipspaces(idata->cmd.buf + SEQLEN);
+    pc = vskipspaces(idata->cmd.buf.data + SEQLEN);
     pc = imap_next_word (pc);
     mutt_error ("%s", pc);
     mutt_sleep (1);
@@ -596,10 +596,10 @@ int imap_append_message (CONTEXT * ctx, MESSAGE * msg)
     rc = imap_cmd_step (idata);
   while (rc == IMAP_CMD_CONTINUE);
 
-  if (!imap_code (idata->cmd.buf)) {
+  if (!imap_code (idata->cmd.buf.data)) {
     char *pc;
 
-    pc = vskipspaces(idata->cmd.buf + SEQLEN);
+    pc = vskipspaces(idata->cmd.buf.data + SEQLEN);
     pc = imap_next_word (pc);
     mutt_error ("%s", pc);
     mutt_sleep (1);
@@ -704,8 +704,8 @@ int imap_copy_messages (CONTEXT * ctx, HEADER * h, char *dest, int delete)
   if (rc == -2) {
     /* bail out if command failed for reasons other than nonexistent target */
     if (ascii_strncasecmp
-        (imap_get_qualifier (idata->cmd.buf), "[TRYCREATE]", 11)) {
-      imap_error ("imap_copy_messages", idata->cmd.buf);
+        (imap_get_qualifier (idata->cmd.buf.data), "[TRYCREATE]", 11)) {
+      imap_error ("imap_copy_messages", idata->cmd.buf.data);
       goto fail;
     }
     snprintf (mmbox, sizeof (mmbox), _("Create %s?"), mbox);
@@ -720,7 +720,7 @@ int imap_copy_messages (CONTEXT * ctx, HEADER * h, char *dest, int delete)
     rc = imap_exec (idata, cmd.data, 0);
   }
   if (rc != 0) {
-    imap_error ("imap_copy_messages", idata->cmd.buf);
+    imap_error ("imap_copy_messages", idata->cmd.buf.data);
     goto fail;
   }
 
@@ -743,18 +743,14 @@ int imap_copy_messages (CONTEXT * ctx, HEADER * h, char *dest, int delete)
     }
   }
 
-  if (cmd.data)
-    p_delete(&cmd.data);
-  if (sync_cmd.data)
-    p_delete(&sync_cmd.data);
+  p_delete(&cmd.data);
+  p_delete(&sync_cmd.data);
   p_delete(&mx.mbox);
   return 0;
 
 fail:
-  if (cmd.data)
-    p_delete(&cmd.data);
-  if (sync_cmd.data)
-    p_delete(&sync_cmd.data);
+  p_delete(&cmd.data);
+  p_delete(&sync_cmd.data);
   p_delete(&mx.mbox);
   return -1;
 }
@@ -880,7 +876,7 @@ static int msg_fetch_header (CONTEXT * ctx, IMAP_HEADER * h, char *buf,
     if (imap_cmd_step (idata) != IMAP_CMD_CONTINUE)
       return rc;
 
-    if (msg_parse_fetch (h, idata->cmd.buf) == -1)
+    if (msg_parse_fetch (h, idata->cmd.buf.data) == -1)
       return rc;
   }