X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mh.c;h=1c6483bb84ca082be8bbd82399d06f63f4dc3511;hp=c9f3d4776a2dff40d63d8c0f51fccf57eaeff46c;hb=53ceb3f257ec0af78a9129a8a565e8ca2bb03903;hpb=b777618bc61046875b5c79c7126f64496c6e5a93 diff --git a/mh.c b/mh.c index c9f3d47..1c6483b 100644 --- a/mh.c +++ b/mh.c @@ -68,6 +68,9 @@ struct mh_sequences { #define MH_SEQ_REPLIED (1 << 1) #define MH_SEQ_FLAGGED (1 << 2) +/* prototypes */ +static int maildir_check_empty (const char*); + static void mhs_alloc (struct mh_sequences *mhs, int i) { int j; @@ -947,12 +950,12 @@ static int _mh_read_dir (CONTEXT * ctx, const char *subdir) return 0; } -int mh_read_dir (CONTEXT* ctx) { +static int mh_read_dir (CONTEXT* ctx) { return (_mh_read_dir (ctx, NULL)); } /* read a maildir style mailbox */ -int maildir_read_dir (CONTEXT * ctx) +static int maildir_read_dir (CONTEXT * ctx) { /* maildir looks sort of like MH, except that there are two subdirectories * of the main folder path from which to read messages @@ -967,7 +970,7 @@ int maildir_read_dir (CONTEXT * ctx) * Open a new (temporary) message in an MH folder. */ -int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr) +static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr) { return mh_mkstemp (dest, &msg->fp, &msg->path); } @@ -1015,7 +1018,7 @@ static void maildir_flags (char *dest, size_t destlen, HEADER * hdr) * */ -int maildir_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr) +static int maildir_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr) { int fd; char path[_POSIX_PATH_MAX]; @@ -1378,7 +1381,7 @@ static int maildir_sync_message (CONTEXT * ctx, int msgno) return (0); } -int mh_sync_mailbox (CONTEXT * ctx, int *index_hint) +static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint) { char path[_POSIX_PATH_MAX], tmp[_POSIX_PATH_MAX]; int i, j; @@ -1871,7 +1874,7 @@ FILE *maildir_open_find_message (const char *folder, const char *msg) * 0 if there are messages in the mailbox * -1 on error */ -int maildir_check_empty (const char *path) +static int maildir_check_empty (const char *path) { DIR *dp; struct dirent *de; @@ -1927,14 +1930,10 @@ int mh_check_empty (const char *path) return r; } -int mh_is_magic (const char* path) { - struct stat st; +static int mh_is_magic (const char* path, struct stat* st) { char tmp[_POSIX_PATH_MAX]; - if (stat (path, &st) == -1) - return (-1); - - if (S_ISDIR (st.st_mode)) { + if (S_ISDIR (st->st_mode)) { snprintf (tmp, sizeof (tmp), "%s/.mh_sequences", path); if (access (tmp, F_OK) == 0) return (M_MH); @@ -1967,15 +1966,13 @@ int mh_is_magic (const char* path) { return (-1); } -int maildir_is_magic (const char* path) { - struct stat st; +static int maildir_is_magic (const char* path, struct stat* st) { + struct stat sb; char tmp[_POSIX_PATH_MAX]; - if (stat (path, &st) == -1) - return (-1); - if (S_ISDIR (st.st_mode)) { + if (S_ISDIR (st->st_mode)) { snprintf (tmp, sizeof (tmp), "%s/cur", path); - if (stat (tmp, &st) == 0 && S_ISDIR (st.st_mode)) + if (stat (tmp, &sb) == 0 && S_ISDIR (sb.st_mode)) return (M_MAILDIR); } return (-1); @@ -1986,6 +1983,7 @@ static mx_t* reg_mx (void) { mx_t* fmt = safe_calloc (1, sizeof (mx_t)); fmt->local = 1; fmt->mx_access = access; + fmt->mx_sync_mailbox = mh_sync_mailbox; return (fmt); } @@ -1995,6 +1993,7 @@ mx_t* mh_reg_mx (void) { 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; return (fmt); } @@ -2004,5 +2003,6 @@ mx_t* maildir_reg_mx (void) { 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; return (fmt); }