diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-06-02 22:06:58 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-06-02 22:06:58 +0300 |
commit | c4a0a717bdc8f9e1e1fb8fa4caf0910e784e8698 (patch) | |
tree | ae3e7cd24755b3e857ec7d3f7218f0c9b904e36d | |
parent | 4f14a906311f8f650a12c8a697bc57a37f2096fa (diff) | |
download | mailutils-c4a0a717bdc8f9e1e1fb8fa4caf0910e784e8698.tar.gz mailutils-c4a0a717bdc8f9e1e1fb8fa4caf0910e784e8698.tar.bz2 |
Implement mu-mailbox-get-size function.
* libmu_scm/mu_mailbox.c (mu-mailbox-get-size): New function.
-rw-r--r-- | libmu_scm/mu_mailbox.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libmu_scm/mu_mailbox.c b/libmu_scm/mu_mailbox.c index dce05e8db..90ee4da59 100644 --- a/libmu_scm/mu_mailbox.c +++ b/libmu_scm/mu_mailbox.c @@ -523,6 +523,26 @@ SCM_DEFINE_PUBLIC (scm_mu_mailbox_more_messages_p, "mu-mailbox-more-messages?", } #undef FUNC_NAME +SCM_DEFINE_PUBLIC (scm_mu_mailbox_get_size, "mu-mailbox-get-size", 1, 0, 0, + (SCM mbox), + "Return size of the mailbox @var{mbox}.") +#define FUNC_NAME s_scm_mu_mailbox_get_size +{ + struct mu_mailbox *mum; + int status; + mu_off_t size; + + SCM_ASSERT (mu_scm_is_mailbox (mbox), mbox, SCM_ARG1, FUNC_NAME); + mum = (struct mu_mailbox *) SCM_CDR (mbox); + status = mu_mailbox_get_size (mum->mbox, &size); + if (status) + mu_scm_error (FUNC_NAME, status, + "~A: cannot determine mailbox size: ~A", + scm_list_2 (mbox, + scm_from_locale_string (mu_strerror (status)))); + return scm_from_uintmax (size); +} + /* Initialize the module */ void mu_scm_mailbox_init () |