#include "lib/mem.h"
#include "lib/intl.h"
#include "lib/str.h"
+#include "lib/debug.h"
#include <sys/stat.h>
#include <sys/types.h>
/* prototypes */
static int maildir_check_empty (const char*);
+static int maildir_check_mailbox (CONTEXT*, int*, int);
+static int mh_check_mailbox (CONTEXT*, int*, int);
static void mhs_alloc (struct mh_sequences *mhs, int i)
{
/* FOO - really ignore the return value? */
- dprint (2,
- (debugfile, "%s:%d: parsing %s\n", __FILE__, __LINE__,
- de->d_name));
+ debug_print (2, ("parsing %s\n", de->d_name));
maildir_parse_entry (ctx, last, subdir, de->d_name, count, is_old,
de->d_ino);
}
while (md) {
- dprint (2, (debugfile, "%s:%d maildir_add_to_context(): Considering %s\n",
- __FILE__, __LINE__, NONULL (md->canon_fname)));
+ debug_print (2, ("considering %s\n", NONULL (md->canon_fname)));
if (md->h) {
- dprint (2,
- (debugfile,
- "%s:%d Adding header structure. Flags: %s%s%s%s%s\n", __FILE__,
- __LINE__, md->h->flagged ? "f" : "", md->h->deleted ? "D" : "",
- md->h->replied ? "r" : "", md->h->old ? "O" : "",
- md->h->read ? "R" : ""));
+ debug_print (2, ("flags: %s%s%s%s%s\n", md->h->flagged ? "f" : "",
+ md->h->deleted ? "D" : "", md->h->replied ? "r" : "",
+ md->h->old ? "O" : "", md->h->read ? "R" : ""));
if (ctx->msgcount == ctx->hdrmax)
mx_alloc_memory (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);
}
*
*/
-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];
dest->path, subdir, (long) time (NULL),
(unsigned int) getpid (), Counter++, NONULL (Hostname), suffix);
- dprint (2, (debugfile, "maildir_open_new_message (): Trying %s.\n",
- path));
+ debug_print (2, ("trying %s.\n", path));
umask (Umask);
if ((fd = open (path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) {
}
}
else {
- dprint (2, (debugfile, "maildir_open_new_message (): Success.\n"));
+ debug_print (2, ("success.\n"));
msg->path = safe_strdup (path);
break;
}
NONULL (Hostname), suffix);
snprintf (full, _POSIX_PATH_MAX, "%s/%s", ctx->path, path);
- dprint (2, (debugfile, "maildir_commit_message (): renaming %s to %s.\n",
- msg->path, full));
+ debug_print (2, ("renaming %s to %s.\n", msg->path, full));
if (safe_rename (msg->path, full) == 0) {
if (hdr)
char *p;
if ((p = strrchr (h->path, '/')) == NULL) {
- dprint (1,
- (debugfile,
- "maildir_sync_message: %s: unable to find subdir!\n",
- h->path));
+ debug_print (1, ("%s: unable to find subdir!\n", h->path));
return (-1);
}
p++;
#endif /* USE_HCACHE */
if (ctx->magic == M_MH)
- i = mh_check_mailbox (ctx, index_hint);
+ i = mh_check_mailbox (ctx, index_hint, 0);
else
- i = maildir_check_mailbox (ctx, index_hint);
+ i = maildir_check_mailbox (ctx, index_hint, 0);
if (i != 0)
return i;
* either subdirectory differently, as mail could be copied directly into
* the cur directory from another agent.
*/
-int maildir_check_mailbox (CONTEXT * ctx, int *index_hint)
+static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
{
struct stat st_new; /* status of the "new" subdirectory */
struct stat st_cur; /* status of the "cur" subdirectory */
HASH *fnames; /* hash table for quickly looking up the base filename
for a maildir message */
- /* XXX seems like this check belongs in mx_check_mailbox()
- * rather than here.
- */
if (!option (OPTCHECKNEW))
return 0;
*
*/
-int mh_check_mailbox (CONTEXT * ctx, int *index_hint)
+static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
{
char buf[_POSIX_PATH_MAX];
struct stat st, st_cur;
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;
return (fmt);
}
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;
return (fmt);
}