diff options
| -rw-r--r-- | sys/src/cmd/upas/fs/imap.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/src/cmd/upas/fs/imap.c b/sys/src/cmd/upas/fs/imap.c index 45885d834..f0ac28e23 100644 --- a/sys/src/cmd/upas/fs/imap.c +++ b/sys/src/cmd/upas/fs/imap.c @@ -916,7 +916,11 @@ imap4read(Imap *imap, Mailbox *mb) f = imap->f; n = imap->nuid; - if(n < imap->nmsg) idprint(imap, "partial sync %d < %d\n", n, imap->nmsg); + if(n > imap->muid){ + idprint(imap, "partial sync %d > %d\n", n, imap->muid); + n = imap->nuid = imap->muid; + } else if(n < imap->nmsg) + idprint(imap, "partial sync %d < %d\n", n, imap->nmsg); qsort(f, n, sizeof f[0], (int(*)(void*, void*))fetchicmp); ll = &mb->root->part; for(i = 0; (m = *ll) != nil || i < n; ){ |
