summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2010-06-02 22:06:58 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2010-06-02 22:06:58 +0300
commitc4a0a717bdc8f9e1e1fb8fa4caf0910e784e8698 (patch)
treeae3e7cd24755b3e857ec7d3f7218f0c9b904e36d
parent4f14a906311f8f650a12c8a697bc57a37f2096fa (diff)
downloadmailutils-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.c20
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 ()

Return to:

Send suggestions and report system problems to the System administrator.