diff options
Diffstat (limited to 'libmailutils/msgset/sub.c')
-rw-r--r-- | libmailutils/msgset/sub.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libmailutils/msgset/sub.c b/libmailutils/msgset/sub.c index efd578eed..af2bc60e6 100644 --- a/libmailutils/msgset/sub.c +++ b/libmailutils/msgset/sub.c @@ -129,11 +129,15 @@ mu_msgset_sub_range (mu_msgset_t mset, size_t beg, size_t end, int mode) beg = t; } - rc = _mu_msgset_translate_pair (mset, mode, &beg, &end); - if (rc == MU_ERR_NOENT) - return 0; - else if (rc) - return rc; + if (mode != _MU_MSGSET_MODE (mset->flags)) + { + rc = _mu_msgset_translate_pair (mset, _MU_MSGSET_MODE (mset->flags), + &beg, &end); + if (rc == MU_ERR_NOENT) + return 0; + else if (rc) + return rc; + } rc = mu_msgset_aggregate (mset); if (rc) |