warning fixes
[apps/madmutt.git] / imap / message.c
index 949ca2c..bc75ed5 100644 (file)
@@ -117,78 +117,79 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
   idata->newMailCount = 0;
 
 #if USE_HCACHE
-  hc = mutt_hcache_open (HeaderCache, ctx->path);
+  if ((hc = mutt_hcache_open (HeaderCache, ctx->path))) {
 
-  snprintf (buf, sizeof (buf),
-            "FETCH %d:%d (UID FLAGS)", msgbegin + 1, msgend + 1);
-  fetchlast = msgend + 1;
+    snprintf (buf, sizeof (buf),
+              "FETCH %d:%d (UID FLAGS)", msgbegin + 1, msgend + 1);
+    fetchlast = msgend + 1;
 
-  imap_cmd_start (idata, buf);
+    imap_cmd_start (idata, buf);
 
-  for (msgno = msgbegin; msgno <= msgend; msgno++) {
-    if (ReadInc && (!msgno || ((msgno + 1) % ReadInc == 0)))
-      mutt_message (_("Evaluating cache... [%d/%d]"), msgno + 1, msgend + 1);
-
-    rewind (fp);
-    memset (&h, 0, sizeof (h));
-    h.data = mem_calloc (1, sizeof (IMAP_HEADER_DATA));
-    do {
-      mfhrc = 0;
+    for (msgno = msgbegin; msgno <= msgend; msgno++) {
+      if (ReadInc && (!msgno || ((msgno + 1) % ReadInc == 0)))
+        mutt_message (_("Evaluating cache... [%d/%d]"), msgno + 1, msgend + 1);
 
-      rc = imap_cmd_step (idata);
-      if (rc != IMAP_CMD_CONTINUE)
-        break;
+      rewind (fp);
+      memset (&h, 0, sizeof (h));
+      h.data = mem_calloc (1, sizeof (IMAP_HEADER_DATA));
+      do {
+        mfhrc = 0;
+
+        rc = imap_cmd_step (idata);
+        if (rc != IMAP_CMD_CONTINUE)
+          break;
+
+        if ((mfhrc =
+            msg_fetch_header_fetch (idata->ctx, &h, idata->cmd.buf, fp)) == -1)
+          continue;
+        else if (mfhrc < 0)
+          break;
+
+        /* make sure we don't get remnants from older larger message headers */
+        fputs ("\n\n", fp);
+
+        sprintf (uid_buf, "/%u", h.data->uid);    /* XXX --tg 21:41 04-07-11 */
+        uid_validity =
+          (unsigned long *) mutt_hcache_fetch (hc, uid_buf, &imap_hcache_keylen);
+
+        if (uid_validity != NULL && *uid_validity == idata->uid_validity) {
+          ctx->hdrs[msgno] = mutt_hcache_restore((unsigned char *) uid_validity, 0);
+          ctx->hdrs[msgno]->index = h.sid - 1;
+          if (h.sid != ctx->msgcount + 1)
+            debug_print (1, ("imap_read_headers: msgcount and sequence ID are inconsistent!"));
+          /* messages which have not been expunged are ACTIVE (borrowed from mh 
+          * folders) */
+          ctx->hdrs[msgno]->active = 1;
+          ctx->hdrs[msgno]->read = h.read;
+          ctx->hdrs[msgno]->old = h.old;
+          ctx->hdrs[msgno]->deleted = h.deleted;
+          ctx->hdrs[msgno]->flagged = h.flagged;
+          ctx->hdrs[msgno]->replied = h.replied;
+          ctx->hdrs[msgno]->changed = h.changed;
+          /*  ctx->hdrs[msgno]->received is restored from mutt_hcache_restore */
+          ctx->hdrs[msgno]->data = (void *) (h.data);
+
+          ctx->msgcount++;
+        }
 
-      if ((mfhrc =
-           msg_fetch_header_fetch (idata->ctx, &h, idata->cmd.buf, fp)) == -1)
-        continue;
-      else if (mfhrc < 0)
-        break;
+        rewind (fp);
 
-      /* make sure we don't get remnants from older larger message headers */
-      fputs ("\n\n", fp);
+        mem_free (&uid_validity);
 
-      sprintf (uid_buf, "/%u", h.data->uid);    /* XXX --tg 21:41 04-07-11 */
-      uid_validity =
-        (unsigned long *) mutt_hcache_fetch (hc, uid_buf, &imap_hcache_keylen);
-
-      if (uid_validity != NULL && *uid_validity == idata->uid_validity) {
-        ctx->hdrs[msgno] = mutt_hcache_restore((unsigned char *) uid_validity, 0);
-        ctx->hdrs[msgno]->index = h.sid - 1;
-        if (h.sid != ctx->msgcount + 1)
-          debug_print (1, ("imap_read_headers: msgcount and sequence ID are inconsistent!"));
-        /* messages which have not been expunged are ACTIVE (borrowed from mh 
-         * folders) */
-        ctx->hdrs[msgno]->active = 1;
-        ctx->hdrs[msgno]->read = h.read;
-        ctx->hdrs[msgno]->old = h.old;
-        ctx->hdrs[msgno]->deleted = h.deleted;
-        ctx->hdrs[msgno]->flagged = h.flagged;
-        ctx->hdrs[msgno]->replied = h.replied;
-        ctx->hdrs[msgno]->changed = h.changed;
-        /*  ctx->hdrs[msgno]->received is restored from mutt_hcache_restore */
-        ctx->hdrs[msgno]->data = (void *) (h.data);
-
-        ctx->msgcount++;
       }
+      while ((rc != IMAP_CMD_OK) && ((mfhrc == -1) ||
+                                    ((msgno + 1) >= fetchlast)));
 
-      rewind (fp);
-
-      mem_free (&uid_validity);
-
+      if ((mfhrc < -1) || ((rc != IMAP_CMD_CONTINUE) && (rc != IMAP_CMD_OK))) {
+        imap_free_header_data ((void **) &h.data);
+        fclose (fp);
+        mutt_hcache_close (hc);
+        return -1;
+      }
     }
-    while ((rc != IMAP_CMD_OK) && ((mfhrc == -1) ||
-                                   ((msgno + 1) >= fetchlast)));
 
-    if ((mfhrc < -1) || ((rc != IMAP_CMD_CONTINUE) && (rc != IMAP_CMD_OK))) {
-      imap_free_header_data ((void **) &h.data);
-      fclose (fp);
-      mutt_hcache_close (hc);
-      return -1;
-    }
+    fetchlast = msgbegin;
   }
-
-  fetchlast = msgbegin;
 #endif /* USE_HCACHE */
 
   for (msgno = msgbegin; msgno <= msgend; msgno++) {
@@ -281,7 +282,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
                                    ((msgno + 1) >= fetchlast)));
 
     if ((mfhrc < -1) || ((rc != IMAP_CMD_CONTINUE) && (rc != IMAP_CMD_OK))) {
-      imap_free_header_data ((void **) &h.data);
+      imap_free_header_data ((void *)&h.data);
       fclose (fp);
 #if USE_HCACHE
       mutt_hcache_close (hc);
@@ -398,9 +399,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
           }
           bar.size = bytes;
           bar.msg = _("Fetching message...");
-#ifdef USE_SOCKET
           mutt_progress_bar (&bar, 0);
-#endif
           if (imap_read_literal (msg->fp, idata, bytes, &bar) < 0)
             goto bail;
           /* pick up trailing line */
@@ -465,7 +464,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
     fgets (buf, sizeof (buf), msg->fp);
   }
 
-  h->content->length = ftell (msg->fp) - h->content->offset;
+  h->content->length = ftello (msg->fp) - h->content->offset;
 
   /* This needs to be done in case this is a multipart message */
 #if defined(HAVE_PGP) || defined(HAVE_SMIME)
@@ -529,9 +528,7 @@ int imap_append_message (CONTEXT * ctx, MESSAGE * msg)
 
   bar.msg = _("Uploading message...");
   bar.size = len;
-#ifdef USE_SOCKET
   mutt_progress_bar (&bar, 0);
-#endif
 
   imap_munge_mbox_name (mbox, sizeof (mbox), mailbox);
   snprintf (buf, sizeof (buf), "APPEND %s (%s%s%s%s%s) {%lu}", mbox,
@@ -571,9 +568,7 @@ int imap_append_message (CONTEXT * ctx, MESSAGE * msg)
     if (len > sizeof (buf) - 3) {
       sent += len;
       flush_buffer (buf, &len, idata->conn);
-#ifdef USE_SOCKET
-    mutt_progress_bar (&bar, sent);
-#endif
+      mutt_progress_bar (&bar, sent);
     }
   }