diff options
Diffstat (limited to 'mailbox/message.c')
-rw-r--r-- | mailbox/message.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/mailbox/message.c b/mailbox/message.c index 1d95c7185..8ac125871 100644 --- a/mailbox/message.c +++ b/mailbox/message.c @@ -182,7 +182,17 @@ _message_stream_seek (struct _mu_stream *str, mu_off_t off, mu_off_t *ppos) return rc; /* fall through */ case _mss_body: - off -= hsize; + if (off > hsize) + off -= hsize; + else + { + mu_stream_destroy (&sp->transport); + sp->state = _mss_init; + rc = _check_stream_state (sp); + if (rc) + return rc; + } + break; default: |