summaryrefslogtreecommitdiff
path: root/libproto
diff options
context:
space:
mode:
Diffstat (limited to 'libproto')
-rw-r--r--libproto/dotmail/dotmail.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libproto/dotmail/dotmail.c b/libproto/dotmail/dotmail.c
index 48ca75673..fa083bb98 100644
--- a/libproto/dotmail/dotmail.c
+++ b/libproto/dotmail/dotmail.c
@@ -326,12 +326,15 @@ dotmail_rescan_unlocked (mu_mailbox_t mailbox, mu_off_t offset)
"x-imapbase:",
"x-uid: ",
};
int i, j;
int force_init_uids = 0;
+ if (!(mailbox->flags & MU_STREAM_READ))
+ return 0;
+
rc = mu_streamref_create (&stream, mailbox->stream);
if (rc)
{
mu_debug (MU_DEBCAT_MAILBOX, MU_DEBUG_ERROR,
("%s:%s (%s): %s",
__func__, "mu_streamref_create", dmp->name,
@@ -587,12 +590,15 @@ dotmail_rescan (mu_mailbox_t mailbox, mu_off_t offset)
struct mu_dotmail_mailbox *dmp = mailbox->data;
int rc;
if (!dmp)
return EINVAL;
+ if (!(mailbox->flags & MU_STREAM_READ))
+ return 0;
+
mu_monitor_wrlock (mailbox->monitor);
#ifdef WITH_PTHREAD
pthread_cleanup_push (dotmail_cleanup, (void *)mailbox);
#endif
rc = mu_stream_size (mailbox->stream, &dmp->size);

Return to:

Send suggestions and report system problems to the System administrator.