diff options
author | Duncaen <mail@duncano.de> | 2017-03-29 20:20:44 +0200 |
---|---|---|
committer | Duncaen <mail@duncano.de> | 2017-03-30 17:07:28 +0200 |
commit | 79d5047cdedc2979f6d36fed66cc9c5d77922724 (patch) | |
tree | c7ba07ed99b63588c7a40e68fb37fc0ec5fc9e0f | |
parent | 4088f9f70bce8ef8c67fcc05f6a63b1a8dff99bd (diff) | |
download | mblaze-79d5047cdedc2979f6d36fed66cc9c5d77922724.tar.gz mblaze-79d5047cdedc2979f6d36fed66cc9c5d77922724.tar.xz mblaze-79d5047cdedc2979f6d36fed66cc9c5d77922724.zip |
mpick: open mail file only if necessary
-rw-r--r-- | mpick.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/mpick.c b/mpick.c index b0e15cd..b44d221 100644 --- a/mpick.c +++ b/mpick.c @@ -761,6 +761,9 @@ msg_date(struct mailinfo *m) if (m->date) return m->date; + if (!m->msg) + m->msg = blaze822(m->fpath); + char *b; if (m->msg && (b = blaze822_hdr(m->msg, "date"))) return (m->date = blaze822_date(b)); @@ -774,6 +777,9 @@ msg_subject(struct mailinfo *m) if (!m->subject) return m->subject; + if (!m->msg) + m->msg = blaze822(m->fpath); + char *b; if (!m->msg || !(b = blaze822_hdr(m->msg, "subject"))) return ""; @@ -785,6 +791,9 @@ msg_subject(struct mailinfo *m) char * msg_addr(struct mailinfo *m, char *h, int t) { + if (!m->msg) + m->msg = blaze822(m->fpath); + char *b; if (m->msg == 0 || (b = blaze822_chdr(m->msg, h)) == 0) return ""; @@ -949,10 +958,6 @@ mailfile(char *file) return m; } - m->msg = blaze822(m->fpath); - if (!m->msg) - return m; - if ((e = strrchr(m->fpath, '/') - 1) && (e - m->fpath) >= 2 && *e-- == 'w' && *e-- == 'e' && *e-- == 'n') m->flags |= FLAG_NEW; |