drop the horrible list2_t for good.
[apps/madmutt.git] / mh.c
diff --git a/mh.c b/mh.c
index 3df675b..bfaaab2 100644 (file)
--- a/mh.c
+++ b/mh.c
  * mailboxes.
  */
 
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <limits.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-#include <string.h>
+#include <lib-lib/lib-lib.h>
 #include <utime.h>
 
-#if HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/file.h>
+#include <lib-ui/curses.h>
 
 #include "mutt.h"
 #include "mx.h"
@@ -263,7 +241,7 @@ static void mhs_write_one_sequence (FILE * fp, struct mh_sequences *mhs,
 
 /* XXX - we don't currently remove deleted messages from sequences we don't know.  Should we? */
 
-void mh_update_sequences (CONTEXT * ctx)
+static void mh_update_sequences (CONTEXT * ctx)
 {
   FILE *ofp, *nfp;
 
@@ -757,7 +735,7 @@ static ssize_t maildir_hcache_keylen (const char *fn)
  * This function does the second parsing pass for a maildir-style
  * folder.
  */
-void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md)
+static void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md)
 {
   struct maildir *p;
   char fn[_POSIX_PATH_MAX];
@@ -882,7 +860,7 @@ static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr __at
   return mh_mkstemp (dest, &msg->fp, &msg->path);
 }
 
-int ch_compar (const void *a, const void *b)
+static int ch_compar (const void *a, const void *b)
 {
   return (int) (*((const char *) a) - *((const char *) b));
 }
@@ -1686,8 +1664,8 @@ static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attrib
  * then again, it's called rarely.
  */
 
-FILE *_maildir_open_find_message (const char *folder, const char *unique,
-                                  const char *subfolder)
+static FILE *_maildir_open_find_message (const char *folder, const char *unique,
+                                         const char *subfolder)
 {
   char dir[_POSIX_PATH_MAX];
   char tunique[_POSIX_PATH_MAX];
@@ -1803,7 +1781,7 @@ static int maildir_check_empty (const char *path)
  * 0 if there are messages in the mailbox
  * -1 on error
  */
-int mh_check_empty (const char *path)
+static int mh_check_empty (const char *path)
 {
   DIR *dp;
   struct dirent *de;
@@ -1870,15 +1848,6 @@ static int maildir_is_magic (const char* path, struct stat* st) {
   return (-1);
 }
 
-/* routines common to maildir and mh */
-static mx_t* reg_mx (void) {
-  mx_t* fmt = p_new(mx_t, 1);
-  fmt->local = 1;
-  fmt->mx_access = access;
-  fmt->mx_sync_mailbox = mh_sync_mailbox;
-  return (fmt);
-}
-
 static int mh_commit (MESSAGE* msg, CONTEXT* ctx) {
   return (mh_commit_message (msg, ctx, NULL));
 }
@@ -1887,26 +1856,32 @@ static int maildir_commit (MESSAGE* msg, CONTEXT* ctx) {
   return (maildir_commit_message (msg, ctx, NULL));
 }
 
-mx_t* mh_reg_mx (void) {
-  mx_t* fmt = reg_mx ();
-  fmt->type = M_MH;
-  fmt->mx_check_empty = mh_check_empty;
-  fmt->mx_is_magic = mh_is_magic;
-  fmt->mx_open_mailbox = mh_read_dir;
-  fmt->mx_open_new_message = mh_open_new_message;
-  fmt->mx_check_mailbox = mh_check_mailbox;
-  fmt->mx_commit_message = mh_commit;
-  return (fmt);
-}
+mx_t const maildir_mx = {
+    M_MAILDIR,
+    1,
+    maildir_is_magic,
+    maildir_check_empty,
+    access,
+    maildir_read_dir,
+    maildir_open_new_message,
+    NULL,
+    maildir_check_mailbox,
+    NULL,
+    mh_sync_mailbox,
+    maildir_commit
+};
 
-mx_t* maildir_reg_mx (void) {
-  mx_t* fmt = reg_mx ();
-  fmt->type = M_MAILDIR;
-  fmt->mx_check_empty = maildir_check_empty;
-  fmt->mx_is_magic = maildir_is_magic;
-  fmt->mx_open_mailbox = maildir_read_dir;
-  fmt->mx_open_new_message = maildir_open_new_message;
-  fmt->mx_check_mailbox = maildir_check_mailbox;
-  fmt->mx_commit_message = maildir_commit;
-  return (fmt);
-}
+mx_t const mh_mx = {
+    M_MH,
+    1,
+    mh_is_magic,
+    mh_check_empty,
+    access,
+    mh_read_dir,
+    mh_open_new_message,
+    NULL,
+    mh_check_mailbox,
+    NULL,
+    mh_sync_mailbox,
+    mh_commit
+};