break;
case M_MAILDIR:
- case M_MH:
- if(tmp->magic == M_MAILDIR)
- snprintf (path, sizeof (path), "%s/new", tmp->path);
- else
- strfcpy (path, tmp->path, sizeof(path));
+ snprintf (path, sizeof (path), "%s/new", tmp->path);
if ((dirp = opendir (path)) == NULL)
{
tmp->magic = 0;
closedir (dirp);
break;
+ case M_MH:
+ tmp->new = mh_buffy (tmp->path);
+ break;
+
#ifdef USE_IMAP
case M_IMAP:
if ((tmp->new = imap_mailbox_check (tmp->path, 1)) > 0)
*first = *last = atoi (t);
}
-static void mh_read_sequences (struct mh_sequences *mhs, char *path)
+static void mh_read_sequences (struct mh_sequences *mhs, const char *path)
{
FILE *fp;
int line = 1;
safe_fclose (&fp);
}
+int mh_buffy (const char *path)
+{
+ int i, r = 0;
+ struct mh_sequences mhs;
+ memset (&mhs, 0, sizeof (mhs));
+
+ mh_read_sequences (&mhs, path);
+ for (i = 0; !r && i <= mhs.max; i++)
+ if (mhs_check (&mhs, i) & MH_SEQ_UNSEEN)
+ r = 1;
+ mhs_free_sequences (&mhs);
+ return r;
+}
+
static int mh_mkstemp (CONTEXT *dest, FILE **fp, char **tgt)
{
int fd;
int mh_read_dir (CONTEXT *, const char *);
int mh_sync_mailbox (CONTEXT *, int *);
int mh_check_mailbox (CONTEXT *, int *);
-int mh_parse_sequences (CONTEXT *, const char *);
+int mh_buffy (const char *);
int maildir_read_dir (CONTEXT *);