Given a thread object this function computes the total disk space used by all messages contained in the thread. Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com> --- lib/notmuch.h | 7 +++++++ lib/thread.cc | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/lib/notmuch.h b/lib/notmuch.h index b7bf3526..4f2afbe4 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -1185,6 +1185,13 @@ time_t notmuch_thread_get_newest_date (notmuch_thread_t *thread); /** + * Get the total disk space used by the thread i.e. a sum of the + * thread messages filesizes. + */ +unsigned long +notmuch_thread_get_total_filesize (notmuch_thread_t *thread); + +/** * Get the tags for 'thread', returning a notmuch_tags_t object which * can be used to iterate over all tags. * diff --git a/lib/thread.cc b/lib/thread.cc index 1a1ecfa5..72878b62 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -596,6 +596,18 @@ notmuch_thread_get_newest_date (notmuch_thread_t *thread) return thread->newest; } +unsigned long +notmuch_thread_get_total_filesize (notmuch_thread_t *thread) +{ + notmuch_message_node_t *node; + unsigned long total_filesize = 0; + + for (node = thread->message_list->head; node; node = node->next) + total_filesize += notmuch_message_get_filesize (node->message); + + return total_filesize; +} + notmuch_tags_t * notmuch_thread_get_tags (notmuch_thread_t *thread) { -- 2.13.0