summaryrefslogtreecommitdiff
path: root/libmu_scm
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2016-11-05 12:07:24 +0200
committerSergey Poznyakoff <gray@gnu.org>2016-11-05 12:07:24 +0200
commitc8ae650738984896d1893bb570868f717410444d (patch)
tree1a2866f83a5a8d024cd72eb4dd1b35c01cf9816a /libmu_scm
parentaf20212718728b315449ff35685772302883fc3d (diff)
downloadmailutils-c8ae650738984896d1893bb570868f717410444d.tar.gz
mailutils-c8ae650738984896d1893bb570868f717410444d.tar.bz2
Minor changes
Diffstat (limited to 'libmu_scm')
-rw-r--r--libmu_scm/mu_mailbox.c18
-rw-r--r--libmu_scm/mu_scm.c1
2 files changed, 16 insertions, 3 deletions
diff --git a/libmu_scm/mu_mailbox.c b/libmu_scm/mu_mailbox.c
index 6177b6637..3b223a3a8 100644
--- a/libmu_scm/mu_mailbox.c
+++ b/libmu_scm/mu_mailbox.c
@@ -220,7 +220,7 @@ SCM_DEFINE_PUBLIC (scm_mu_mailbox_open, "mu-mailbox-open", 2, 0, 0,
int status;
SCM ret;
- SCM_ASSERT (scm_is_string (url), url, SCM_ARG1, FUNC_NAME);
+ SCM_ASSERT (scm_is_bool (url) || scm_is_string (url), url, SCM_ARG1, FUNC_NAME);
SCM_ASSERT (scm_is_string (mode), mode, SCM_ARG2, FUNC_NAME);
scm_dynwind_begin (0);
@@ -247,8 +247,20 @@ SCM_DEFINE_PUBLIC (scm_mu_mailbox_open, "mu-mailbox-open", 2, 0, 0,
if (mode_bits & MU_STREAM_READ && mode_bits & MU_STREAM_WRITE)
mode_bits = (mode_bits & ~(MU_STREAM_READ | MU_STREAM_WRITE)) | MU_STREAM_RDWR;
- mode_str = scm_to_locale_string (url);
- scm_dynwind_free (mode_str);
+ if (scm_is_bool (url))
+ {
+ if (url == SCM_BOOL_F)
+ mode_str = NULL;
+ else
+ mu_scm_error (FUNC_NAME, EINVAL,
+ "value #t for URL is reserved for future use",
+ scm_list_1 (url));
+ }
+ else
+ {
+ mode_str = scm_to_locale_string (url);
+ scm_dynwind_free (mode_str);
+ }
status = mu_mailbox_create_default (&mbox, mode_str);
if (status)
diff --git a/libmu_scm/mu_scm.c b/libmu_scm/mu_scm.c
index f605776f3..98b4fb14b 100644
--- a/libmu_scm/mu_scm.c
+++ b/libmu_scm/mu_scm.c
@@ -111,6 +111,7 @@ SCM_DEFINE_PUBLIC (scm_mu_register_format, "mu-register-format", 0, 0, 1,
{
int status;
+ SCM_VALIDATE_REST_ARGUMENT (rest);
if (scm_is_null (rest))
{
status = register_format (NULL);

Return to:

Send suggestions and report system problems to the System administrator.