aboutsummaryrefslogtreecommitdiff
path: root/worker/imap/list.go
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-02-02 08:44:30 -0500
committerDrew DeVault <sir@cmpwn.com>2018-02-02 08:44:30 -0500
commit25f21b55bd3179258f02d5498ecc969ff1ad820a (patch)
tree8d5e84596f3e651bc9ab4649cd755c87771efcea /worker/imap/list.go
parentd603bbe2ce4adebfc9ec0bb708d814fd9152676c (diff)
Tidy up list.go
Diffstat (limited to 'worker/imap/list.go')
-rw-r--r--worker/imap/list.go37
1 files changed, 15 insertions, 22 deletions
diff --git a/worker/imap/list.go b/worker/imap/list.go
index 2f5e5b4..eff3d49 100644
--- a/worker/imap/list.go
+++ b/worker/imap/list.go
@@ -14,28 +14,21 @@ func (imapw *IMAPWorker) handleListDirectories(msg *types.ListDirectories) {
done <- imapw.client.List("", "*", mailboxes)
}()
go func() {
- for {
- select {
- case err := <-done:
- if err != nil {
- imapw.worker.PostMessage(&types.Error{
- Message: types.RespondTo(msg),
- Error: err,
- }, nil)
- } else {
- imapw.worker.PostMessage(
- &types.Done{types.RespondTo(msg)}, nil)
- }
- return
- case mbox := <-mailboxes:
- if mbox != nil {
- imapw.worker.PostMessage(&types.Directory{
- Message: types.RespondTo(msg),
- Name: mbox.Name,
- Attributes: mbox.Attributes,
- }, nil)
- }
- }
+ for mbox := range mailboxes {
+ imapw.worker.PostMessage(&types.Directory{
+ Message: types.RespondTo(msg),
+ Name: mbox.Name,
+ Attributes: mbox.Attributes,
+ }, nil)
+ }
+ if err := <-done; err != nil {
+ imapw.worker.PostMessage(&types.Error{
+ Message: types.RespondTo(msg),
+ Error: err,
+ }, nil)
+ } else {
+ imapw.worker.PostMessage(
+ &types.Done{types.RespondTo(msg)}, nil)
}
}()
}