# include "config.h"
#endif
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/file.h>
-
-#include "mutt.h"
-#include "mx.h"
-#include "mh.h"
-#include "mbox.h"
-#include "copy.h"
-#include "buffy.h"
-#include "sort.h"
-#include "thread.h"
-#include "hcache.h"
-
-#include "lib/debug.h"
-
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.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 "mutt.h"
+#include "mx.h"
+#include "mh.h"
+#include "mbox.h"
+#include "copy.h"
+#include "buffy.h"
+#include "sort.h"
+#include "thread.h"
+#include "hcache.h"
+
struct maildir {
HEADER *h;
char *canon_fname;
int line = 1;
char *buff = NULL;
char *t;
- size_t sz = 0;
+ ssize_t sz = 0;
short f;
int first, last;
char *tmpfname;
char *buff = NULL;
char *p;
- size_t s;
+ ssize_t s;
int l = 0;
int i;
char *buff = NULL;
int line;
- size_t sz;
+ ssize_t sz;
if (mh_mkstemp (ctx, &nfp, &tmpfname) == -1)
return;
static int maildir_parse_entry (CONTEXT * ctx, struct maildir ***last,
const char *subdir, const char *fname,
- int *count, int is_old, ino_t inode)
+ int *count, int is_old, ino_t inode __attribute__ ((unused)))
{
struct maildir *entry;
HEADER *h = NULL;
/* FOO - really ignore the return value? */
- debug_print (2, ("parsing %s\n", de->d_name));
maildir_parse_entry (ctx, last, subdir, de->d_name, count, is_old,
#if HAVE_DIRENT_D_INO
de->d_ino
while (md) {
- debug_print (2, ("considering %s\n", NONULL (md->canon_fname)));
-
if (md->h) {
- 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);
}
#ifdef USE_HCACHE
-static size_t maildir_hcache_keylen (const char *fn)
+static ssize_t maildir_hcache_keylen (const char *fn)
{
- const char *p = strchr (fn, ':');
-
- return p ? (size_t) (p - fn) : m_strlen(fn);
+ return m_strchrnul(fn, ':') - fn;
}
#endif
* Open a new (temporary) message in an MH folder.
*/
-static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr)
+static int mh_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr __attribute__ ((unused)))
{
return mh_mkstemp (dest, &msg->fp, &msg->path);
}
return (int) (*((const char *) a) - *((const char *) b));
}
-static void maildir_flags (char *dest, size_t destlen, HEADER * hdr)
+static void maildir_flags (char *dest, ssize_t destlen, HEADER * hdr)
{
*dest = '\0';
dest->path, subdir, (long) time (NULL),
(unsigned int) getpid (), Counter++, NONULL (Hostname), suffix);
- debug_print (2, ("trying %s.\n", path));
-
umask (Umask);
if ((fd = open (path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) {
if (errno != EEXIST) {
mutt_perror (path);
return -1;
}
- }
- else {
- debug_print (2, ("success.\n"));
+ } else {
msg->path = m_strdup(path);
break;
}
NONULL (Hostname), suffix);
snprintf (full, _POSIX_PATH_MAX, "%s/%s", ctx->path, path);
- debug_print (2, ("renaming %s to %s.\n", msg->path, full));
-
if (safe_rename (msg->path, full) == 0) {
if (hdr)
m_strreplace(&hdr->path, path);
h->lines = old_hdr_lines;
}
- mutt_free_body (&h->content->parts);
+ body_list_wipe(&h->content->parts);
return rc;
}
char *p;
if ((p = strrchr (h->path, '/')) == NULL) {
- debug_print (1, ("%s: unable to find subdir!\n", h->path));
return (-1);
}
p++;
return (0);
}
-static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint)
+static int mh_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)), int *index_hint)
{
char path[_POSIX_PATH_MAX], tmp[_POSIX_PATH_MAX];
int i, j;
return -1;
}
-static char *maildir_canon_filename (char *dest, const char *src, size_t l)
+static char *maildir_canon_filename (char *dest, const char *src, ssize_t l)
{
char *t, *u;
* either subdirectory differently, as mail could be copied directly into
* the cur directory from another agent.
*/
-static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
+static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attribute__ ((unused)))
{
struct stat st_new; /* status of the "new" subdirectory */
struct stat st_cur; /* status of the "cur" subdirectory */
*
*/
-static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
+static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused __attribute__ ((unused)))
{
char buf[_POSIX_PATH_MAX];
struct stat st, st_cur;
DIR *dp;
struct dirent *de;
int r = 1; /* assume empty until we find a message */
- char realpath[_POSIX_PATH_MAX];
+ char frealpath[_POSIX_PATH_MAX];
int iter = 0;
/* Strategy here is to look for any file not beginning with a period */
/* we do "cur" on the first iteration since its more likely that we'll
* find old messages without having to scan both subdirs
*/
- snprintf (realpath, sizeof (realpath), "%s/%s", path,
+ snprintf (frealpath, sizeof (frealpath), "%s/%s", path,
iter == 0 ? "cur" : "new");
- if ((dp = opendir (realpath)) == NULL)
+ if ((dp = opendir (frealpath)) == NULL)
return -1;
while ((de = readdir (dp))) {
if (*de->d_name != '.') {