hide yet another function
[apps/madmutt.git] / lib-mx / mx.c
index 493b421..1a7db32 100644 (file)
@@ -35,7 +35,6 @@
 
 #define MAXLOCKATTEMPT 5
 
-
 static mx_t const *mxfmts[] = {
     &mbox_mx,
     &mh_mx,
@@ -77,7 +76,7 @@ static int mx_get_idx (const char* path) {
         if (!mxfmts[i]->local)
             t = mxfmts[i]->mx_is_magic(path, NULL);
         if (t >= 1)
-            return (t-1);
+            return t-1;
     }
     if (stat (path, &st) == 0) {
         /* if stat() succeeded, keep testing until success and
@@ -86,7 +85,7 @@ static int mx_get_idx (const char* path) {
             if (mxfmts[i]->local)
                 t = mxfmts[i]->mx_is_magic(path, &st);
             if (t >= 1)
-                return (t-1);
+                return t-1;
         }
     }
     return -1;
@@ -147,14 +146,14 @@ int mx_get_magic (const char *path) {
   if (m_strlen(path) == 0)
     return -1;
   if ((i = mx_get_idx (path)) >= 0)
-    return (mxfmts[i]->type);
+    return mxfmts[i]->type;
   return -1;
 }
 
 int mx_is_local (int m) {
   if (!MX_IDX(m))
-    return (0);
-  return (mxfmts[m]->local);
+    return 0;
+  return mxfmts[m]->local;
 }
 
 /* mx_access: Wrapper for access, checks permissions on a given mailbox.
@@ -165,8 +164,8 @@ int mx_access (const char *path, int flags)
   int i = 0;
 
   if ((i = mx_get_idx (path)) >= 0 && mxfmts[i]->mx_access)
-    return (mxfmts[i]->mx_access(path,flags));
-  return (0);
+    return mxfmts[i]->mx_access(path,flags);
+  return 0;
 }
 
 static int mx_open_mailbox_append (CONTEXT * ctx, int flags)
@@ -308,7 +307,7 @@ CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT * pctx)
     mx_fastclose_mailbox (ctx);
     if (!pctx)
       p_delete(&ctx);
-    return (NULL);
+    return NULL;
   }
 
   /* if the user has a `push' command in their .muttrc, or in a folder-hook,
@@ -341,7 +340,7 @@ CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT * pctx)
   }
 
   unset_option (OPTFORCEREFRESH);
-  return (ctx);
+  return ctx;
 }
 
 /* free up memory associated with the mailbox context */
@@ -517,7 +516,7 @@ static int _mx_close_mailbox (CONTEXT * ctx, int *index_hint)
     /* try to use server-side copy first */
     i = 1;
 
-    if (ctx->magic == M_IMAP && imap_is_magic (mbox, NULL) == M_IMAP) {
+    if (ctx->magic == M_IMAP && imap_mx.mx_is_magic (mbox, NULL) == M_IMAP) {
       /* tag messages for moving, and clear old tags, if any */
       for (i = 0; i < ctx->msgcount; i++)
         if (ctx->hdrs[i]->read && !ctx->hdrs[i]->deleted
@@ -617,10 +616,10 @@ static int _mx_close_mailbox (CONTEXT * ctx, int *index_hint)
 int mx_close_mailbox (CONTEXT * ctx, int *index_hint) {
   int ret = 0;
   if (!ctx)
-    return (0);
+    return 0;
   ret = _mx_close_mailbox (ctx, index_hint);
   sidebar_set_buffystats (ctx);
-  return (ret);
+  return ret;
 }
 
 /* update a Context structure's internal tables. */
@@ -736,7 +735,7 @@ static int _mx_sync_mailbox (CONTEXT * ctx, int *index_hint)
   if (!ctx->changed && !ctx->deleted) {
     mutt_message _("Mailbox is unchanged.");
 
-    return (0);
+    return 0;
   }
 
   if (ctx->deleted) {
@@ -801,13 +800,13 @@ static int _mx_sync_mailbox (CONTEXT * ctx, int *index_hint)
     }
   }
 
-  return (rc);
+  return rc;
 }
 
 int mx_sync_mailbox (CONTEXT* ctx, int* index_hint) {
   int ret = _mx_sync_mailbox (ctx, index_hint);
   sidebar_set_buffystats (ctx);
-  return (ret);
+  return ret;
 }
 
 /* args:
@@ -817,11 +816,12 @@ int mx_sync_mailbox (CONTEXT* ctx, int* index_hint) {
  */
 MESSAGE *mx_open_new_message (CONTEXT * dest, HEADER * hdr, int flags)
 {
+
   MESSAGE *msg;
   address_t *p = NULL;
 
   if (!MX_IDX(dest->magic-1)) {
-    return (NULL);
+    return NULL;
   }
 
   msg = p_new(MESSAGE, 1);
@@ -868,7 +868,7 @@ int mx_check_mailbox (CONTEXT * ctx, int *index_hint, int lock) {
     if (ctx->locked)
       lock = 0;
     if (MX_IDX(ctx->magic-1) && mxfmts[ctx->magic-1]->mx_check_mailbox)
-      return (mxfmts[ctx->magic-1]->mx_check_mailbox(ctx, index_hint, lock));
+      return mxfmts[ctx->magic-1]->mx_check_mailbox(ctx, index_hint, lock);
   }
 
   return -1;
@@ -877,52 +877,16 @@ int mx_check_mailbox (CONTEXT * ctx, int *index_hint, int lock) {
 /* return a stream pointer for a message */
 MESSAGE *mx_open_message (CONTEXT * ctx, int msgno)
 {
-  MESSAGE *msg;
-
-  msg = p_new(MESSAGE, 1);
-  switch (msg->magic = ctx->magic) {
-  case M_MBOX:
-    msg->fp = ctx->fp;
-    break;
-
-  case M_MH:
-  case M_MAILDIR:
-    {
-      HEADER *cur = ctx->hdrs[msgno];
-      char path[_POSIX_PATH_MAX];
-
-      snprintf (path, sizeof (path), "%s/%s", ctx->path, cur->path);
+    MESSAGE *msg;
 
-      if ((msg->fp = fopen (path, "r")) == NULL && errno == ENOENT &&
-          ctx->magic == M_MAILDIR)
-        msg->fp = maildir_open_find_message (ctx->path, cur->path);
+    if (!MX_IDX(ctx->magic) || !mxfmts[ctx->magic - 1]->mx_open_message)
+        return NULL;
 
-      if (msg->fp == NULL) {
-        mutt_perror (path);
+    msg = p_new(MESSAGE, 1);
+    msg->magic = ctx->magic;
+    if (mxfmts[ctx->magic - 1]->mx_open_message(msg, ctx, msgno))
         p_delete(&msg);
-      }
-    }
-    break;
-
-  case M_IMAP:
-    {
-      if (imap_fetch_message (msg, ctx, msgno) != 0)
-        p_delete(&msg);
-      break;
-    }
-
-  case M_POP:
-    {
-      if (pop_fetch_message (msg, ctx, msgno) != 0)
-        p_delete(&msg);
-      break;
-    }
-
-  default:
-    p_delete(&msg);
-    break;
-  }
-  return (msg);
+    return msg;
 }
 
 /* commit a message to a folder */
@@ -933,7 +897,7 @@ int mx_commit_message (MESSAGE * msg, CONTEXT * ctx) {
   }
   if (!ctx || !MX_IDX(ctx->magic-1) || !mxfmts[ctx->magic-1]->mx_commit_message)
     return -1;
-  return (mxfmts[ctx->magic-1]->mx_commit_message (msg, ctx));
+  return mxfmts[ctx->magic-1]->mx_commit_message (msg, ctx);
 }
 
 /* close a pointer to a message */
@@ -955,7 +919,7 @@ int mx_close_message (MESSAGE ** msg)
   }
 
   p_delete(msg);
-  return (r);
+  return r;
 }
 
 void mx_alloc_memory (CONTEXT * ctx)
@@ -1043,7 +1007,7 @@ int mx_check_empty (const char *path)
 {
   int i = 0;
   if ((i = mx_get_idx (path)) >= 0 && mxfmts[i]->mx_check_empty)
-    return (mxfmts[i]->mx_check_empty(path));
+    return mxfmts[i]->mx_check_empty(path);
   errno = EINVAL;
   return -1;
 }