projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drop mem_alloc and mem_free, use my own hand crafted optmized macros that
[apps/madmutt.git]
/
mh.c
diff --git
a/mh.c
b/mh.c
index
c062eb9
..
90cf30a
100644
(file)
--- a/
mh.c
+++ b/
mh.c
@@
-17,6
+17,8
@@
# include "config.h"
#endif
# include "config.h"
#endif
+#include <lib-lib/mem.h>
+
#include "mutt.h"
#include "mx.h"
#include "mh.h"
#include "mutt.h"
#include "mx.h"
#include "mh.h"
@@
-24,6
+26,8
@@
#include "copy.h"
#include "buffy.h"
#include "sort.h"
#include "copy.h"
#include "buffy.h"
#include "sort.h"
+#include "thread.h"
+#include "hcache.h"
#include "lib/mem.h"
#include "lib/intl.h"
#include "lib/mem.h"
#include "lib/intl.h"
@@
-91,7
+95,7
@@
static void mhs_alloc (struct mh_sequences *mhs, int i)
static void mhs_free_sequences (struct mh_sequences *mhs)
{
static void mhs_free_sequences (struct mh_sequences *mhs)
{
-
mem_free
(&mhs->flags);
+
p_delete
(&mhs->flags);
}
static short mhs_check (struct mh_sequences *mhs, int i)
}
static short mhs_check (struct mh_sequences *mhs, int i)
@@
-173,7
+177,7
@@
static void mh_read_sequences (struct mh_sequences *mhs, const char *path)
}
}
}
}
-
mem_free
(&buff);
+
p_delete
(&buff);
safe_fclose (&fp);
}
safe_fclose (&fp);
}
@@
-214,7
+218,7
@@
static int mh_mkstemp (CONTEXT * dest, FILE ** fp, char **tgt)
}
if ((*fp = fdopen (fd, "w")) == NULL) {
}
if ((*fp = fdopen (fd, "w")) == NULL) {
-
mem_free
(tgt);
+
p_delete
(tgt);
close (fd);
unlink (path);
return (-1);
close (fd);
unlink (path);
return (-1);
@@
-362,7
+366,7
@@
void mh_update_sequences (CONTEXT * ctx)
unlink (tmpfname);
}
unlink (tmpfname);
}
-
mem_free
(&tmpfname);
+
p_delete
(&tmpfname);
}
static void mh_sequences_add_one (CONTEXT * ctx, int n, short unseen,
}
static void mh_sequences_add_one (CONTEXT * ctx, int n, short unseen,
@@
-414,7
+418,7
@@
static void mh_sequences_add_one (CONTEXT * ctx, int n, short unseen,
}
}
safe_fclose (&ofp);
}
}
safe_fclose (&ofp);
-
mem_free
(&buff);
+
p_delete
(&buff);
if (!unseen_done && unseen)
fprintf (nfp, "%s: %d\n", NONULL (MhUnseen), n);
if (!unseen_done && unseen)
fprintf (nfp, "%s: %d\n", NONULL (MhUnseen), n);
@@
-429,7
+433,7
@@
static void mh_sequences_add_one (CONTEXT * ctx, int n, short unseen,
if (safe_rename (tmpfname, sequences) != 0)
unlink (tmpfname);
if (safe_rename (tmpfname, sequences) != 0)
unlink (tmpfname);
-
mem_free
(&tmpfname);
+
p_delete
(&tmpfname);
}
static void mh_update_maildir (struct maildir *md, struct mh_sequences *mhs)
}
static void mh_update_maildir (struct maildir *md, struct mh_sequences *mhs)
@@
-460,11
+464,11
@@
static void maildir_free_entry (struct maildir **md)
if (!md || !*md)
return;
if (!md || !*md)
return;
-
mem_free
(&(*md)->canon_fname);
+
p_delete
(&(*md)->canon_fname);
if ((*md)->h)
mutt_free_header (&(*md)->h);
if ((*md)->h)
mutt_free_header (&(*md)->h);
-
mem_free
(md);
+
p_delete
(md);
}
static void maildir_free_maildir (struct maildir **md)
}
static void maildir_free_maildir (struct maildir **md)
@@
-525,7
+529,7
@@
static void maildir_parse_flags (HEADER * h, const char *path)
}
if (q == h->maildir_flags)
}
if (q == h->maildir_flags)
-
mem_free
(&h->maildir_flags);
+
p_delete
(&h->maildir_flags);
else if (q)
*q = '\0';
}
else if (q)
*q = '\0';
}
@@
-701,7
+705,12
@@
static int maildir_parse_dir (CONTEXT * ctx, struct maildir ***last,
debug_print (2, ("parsing %s\n", de->d_name));
maildir_parse_entry (ctx, last, subdir, de->d_name, count, is_old,
debug_print (2, ("parsing %s\n", de->d_name));
maildir_parse_entry (ctx, last, subdir, de->d_name, count, is_old,
- de->d_ino);
+#if HAVE_DIRENT_D_INO
+ de->d_ino
+#else
+ 0
+#endif
+ );
}
closedir (dirp);
}
closedir (dirp);
@@
-830,7
+839,7
@@
static struct maildir *maildir_sort_inode (struct maildir *list)
}
#endif /* USE_INODESORT */
}
#endif /* USE_INODESORT */
-#if USE_HCACHE
+#if
def
USE_HCACHE
static size_t maildir_hcache_keylen (const char *fn)
{
const char *p = strchr (fn, ':');
static size_t maildir_hcache_keylen (const char *fn)
{
const char *p = strchr (fn, ':');
@@
-849,7
+858,7
@@
void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md)
char fn[_POSIX_PATH_MAX];
int count;
char fn[_POSIX_PATH_MAX];
int count;
-#if USE_HCACHE
+#if
def
USE_HCACHE
void *hc = NULL;
void *data;
struct timeval *when = NULL;
void *hc = NULL;
void *data;
struct timeval *when = NULL;
@@
-863,7
+872,7
@@
void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md)
if (!(p && p->h && !p->header_parsed))
continue;
if (!(p && p->h && !p->header_parsed))
continue;
-#if USE_HCACHE
+#if
def
USE_HCACHE
data = mutt_hcache_fetch (hc, p->h->path + 3, &maildir_hcache_keylen);
when = (struct timeval *) data;
#endif
data = mutt_hcache_fetch (hc, p->h->path + 3, &maildir_hcache_keylen);
when = (struct timeval *) data;
#endif
@@
-872,7
+881,7
@@
void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md)
mutt_message (_("Reading %s... %d"), ctx->path, count);
snprintf (fn, sizeof (fn), "%s/%s", ctx->path, p->h->path);
mutt_message (_("Reading %s... %d"), ctx->path, count);
snprintf (fn, sizeof (fn), "%s/%s", ctx->path, p->h->path);
-#if USE_HCACHE
+#if
def
USE_HCACHE
if (option (OPTHCACHEVERIFY)) {
ret = stat (fn, &lastchanged);
}
if (option (OPTHCACHEVERIFY)) {
ret = stat (fn, &lastchanged);
}
@@
-890,17
+899,17
@@
void maildir_delayed_parsing (CONTEXT * ctx, struct maildir *md)
if (maildir_parse_message (ctx->magic, fn, p->h->old, p->h)) {
p->header_parsed = 1;
maildir_parse_flags (p->h, fn);
if (maildir_parse_message (ctx->magic, fn, p->h->old, p->h)) {
p->header_parsed = 1;
maildir_parse_flags (p->h, fn);
-#if USE_HCACHE
+#if
def
USE_HCACHE
mutt_hcache_store (hc, p->h->path + 3, p->h, 0, &maildir_hcache_keylen);
#endif
}
else
mutt_free_header (&p->h);
mutt_hcache_store (hc, p->h->path + 3, p->h, 0, &maildir_hcache_keylen);
#endif
}
else
mutt_free_header (&p->h);
-#if USE_HCACHE
-
mem_free
(&data);
+#if
def
USE_HCACHE
+
p_delete
(&data);
#endif
}
#endif
}
-#if USE_HCACHE
+#if
def
USE_HCACHE
mutt_hcache_close (hc);
#endif
}
mutt_hcache_close (hc);
#endif
}
@@
-1061,7
+1070,7
@@
static int maildir_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr
}
if ((msg->fp = fdopen (fd, "w")) == NULL) {
}
if ((msg->fp = fdopen (fd, "w")) == NULL) {
-
mem_free
(&msg->path);
+
p_delete
(&msg->path);
close (fd);
unlink (path);
return (-1);
close (fd);
unlink (path);
return (-1);
@@
-1126,7
+1135,7
@@
static int maildir_commit_message (MESSAGE * msg, CONTEXT * ctx, HEADER * hdr)
if (safe_rename (msg->path, full) == 0) {
if (hdr)
str_replace (&hdr->path, path);
if (safe_rename (msg->path, full) == 0) {
if (hdr)
str_replace (&hdr->path, path);
-
mem_free
(&msg->path);
+
p_delete
(&msg->path);
/*
* Adjust the mtime on the file to match the time at which this
/*
* Adjust the mtime on the file to match the time at which this
@@
-1212,7
+1221,7
@@
static int _mh_commit_message (MESSAGE * msg, CONTEXT * ctx, HEADER * hdr,
if (safe_rename (msg->path, path) == 0) {
if (hdr)
str_replace (&hdr->path, tmp);
if (safe_rename (msg->path, path) == 0) {
if (hdr)
str_replace (&hdr->path, tmp);
-
mem_free
(&msg->path);
+
p_delete
(&msg->path);
break;
}
else if (errno != EEXIST) {
break;
}
else if (errno != EEXIST) {
@@
-1378,7
+1387,7
@@
static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint)
char path[_POSIX_PATH_MAX], tmp[_POSIX_PATH_MAX];
int i, j;
char path[_POSIX_PATH_MAX], tmp[_POSIX_PATH_MAX];
int i, j;
-#if USE_HCACHE
+#if
def
USE_HCACHE
void *hc = NULL;
#endif /* USE_HCACHE */
void *hc = NULL;
#endif /* USE_HCACHE */
@@
-1390,7
+1399,7
@@
static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint)
if (i != 0)
return i;
if (i != 0)
return i;
-#if USE_HCACHE
+#if
def
USE_HCACHE
if (ctx->magic == M_MAILDIR)
hc = mutt_hcache_open (HeaderCache, ctx->path);
#endif /* USE_HCACHE */
if (ctx->magic == M_MAILDIR)
hc = mutt_hcache_open (HeaderCache, ctx->path);
#endif /* USE_HCACHE */
@@
-1401,7
+1410,7
@@
static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint)
snprintf (path, sizeof (path), "%s/%s", ctx->path, ctx->hdrs[i]->path);
if (ctx->magic == M_MAILDIR
|| (option (OPTMHPURGE) && ctx->magic == M_MH)) {
snprintf (path, sizeof (path), "%s/%s", ctx->path, ctx->hdrs[i]->path);
if (ctx->magic == M_MAILDIR
|| (option (OPTMHPURGE) && ctx->magic == M_MH)) {
-#if USE_HCACHE
+#if
def
USE_HCACHE
if (ctx->magic == M_MAILDIR)
mutt_hcache_delete (hc, ctx->hdrs[i]->path + 3,
&maildir_hcache_keylen);
if (ctx->magic == M_MAILDIR)
mutt_hcache_delete (hc, ctx->hdrs[i]->path + 3,
&maildir_hcache_keylen);
@@
-1434,7
+1443,7
@@
static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint)
}
}
}
}
-#if USE_HCACHE
+#if
def
USE_HCACHE
if (ctx->magic == M_MAILDIR)
mutt_hcache_close (hc);
#endif /* USE_HCACHE */
if (ctx->magic == M_MAILDIR)
mutt_hcache_close (hc);
#endif /* USE_HCACHE */
@@
-1459,7
+1468,7
@@
static int mh_sync_mailbox (CONTEXT * ctx, int unused, int *index_hint)
return 0;
err:
return 0;
err:
-#if USE_HCACHE
+#if
def
USE_HCACHE
if (ctx->magic == M_MAILDIR)
mutt_hcache_close (hc);
#endif /* USE_HCACHE */
if (ctx->magic == M_MAILDIR)
mutt_hcache_close (hc);
#endif /* USE_HCACHE */
@@
-1713,7
+1722,7
@@
static int mh_check_mailbox (CONTEXT * ctx, int *index_hint, int unused)
safe_fclose (&fp);
if (safe_rename (tmp, buf) == -1)
unlink (tmp);
safe_fclose (&fp);
if (safe_rename (tmp, buf) == -1)
unlink (tmp);
-
mem_free
(&tmp);
+
p_delete
(&tmp);
}
}
}
}