diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2020-08-11 11:24:17 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2020-08-11 11:24:17 +0300 |
commit | 0f1a6e4109a7f174bb127281e15579fbb576128d (patch) | |
tree | 805b6ffe1558a091bb24de237d56ad754a128a6c /include | |
parent | bf200fbd238cb5da42bb7fc8ad2cd433c7135fe3 (diff) | |
download | mailutils-0f1a6e4109a7f174bb127281e15579fbb576128d.tar.gz mailutils-0f1a6e4109a7f174bb127281e15579fbb576128d.tar.bz2 |
Allow the caller to unref messages obtained from the mailbox
* include/mailutils/sys/message.h (struct _mu_message): New member:
_detach.
* libmailutils/mailbox/msgref.c (_mu_message_free): Detach message
from the owning object.
* libmailutils/base/amd.c (_amd_attach_message): Provide the _detach method.
* libproto/dotmail/message.c (mu_dotmail_message_get): Initialize the
_detach member.
* libproto/imap/mbox.c (_imap_mbx_get_message): Likewise.
* libproto/mbox/mbox.c (new_message): Likewise.
* libproto/pop/mbox.c (pop_create_message): Likewise.
* libmailutils/stream/temp_stream.c (temp_stream_write): Tempfile stream
is created fully buffered. Free the buffer before reinitializing.
* lib/mdecode.c (message_body_stream): Change error message for
MU_ERR_NOENT.
* decodemail/decodemail.c (main): Unref the original message
to decrease memory usage.
Diffstat (limited to 'include')
-rw-r--r-- | include/mailutils/sys/message.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/mailutils/sys/message.h b/include/mailutils/sys/message.h index b18796d0a..757dd3cd6 100644 --- a/include/mailutils/sys/message.h +++ b/include/mailutils/sys/message.h @@ -65,6 +65,7 @@ struct _mu_message int (*_is_multipart) (mu_message_t, int *); int (*_lines) (mu_message_t, size_t *, int); int (*_size) (mu_message_t, size_t *); + void (*_detach) (mu_message_t); }; #ifdef __cplusplus |