diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2016-11-05 12:07:24 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2016-11-05 12:07:24 +0200 |
commit | c8ae650738984896d1893bb570868f717410444d (patch) | |
tree | 1a2866f83a5a8d024cd72eb4dd1b35c01cf9816a /libmu_scm | |
parent | af20212718728b315449ff35685772302883fc3d (diff) | |
download | mailutils-c8ae650738984896d1893bb570868f717410444d.tar.gz mailutils-c8ae650738984896d1893bb570868f717410444d.tar.bz2 |
Minor changes
Diffstat (limited to 'libmu_scm')
-rw-r--r-- | libmu_scm/mu_mailbox.c | 18 | ||||
-rw-r--r-- | libmu_scm/mu_scm.c | 1 |
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); |