about summary refs log tree commit diff stats
path: root/worker
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2019-08-07 22:21:19 -0400
committerDrew DeVault <sir@cmpwn.com>2019-08-08 12:50:54 +0900
commita1749411e61d20f701442c9c7e58464f4e0203b8 (patch)
tree7e365051b8c144c1c933edcd4198947bf9b20e1d /worker
parent072b5f453ccb8c3d79f55be80f5db9e71cf17a31 (diff)
downloadaerc-a1749411e61d20f701442c9c7e58464f4e0203b8.tar.gz
maildir: Preserve flags when copying messages
Diffstat (limited to 'worker')
-rw-r--r--worker/maildir/container.go22
1 files changed, 2 insertions, 20 deletions
diff --git a/worker/maildir/container.go b/worker/maildir/container.go
index f015181..85e892a 100644
--- a/worker/maildir/container.go
+++ b/worker/maildir/container.go
@@ -2,7 +2,6 @@ package maildir
 
 import (
 	"fmt"
-	"io"
 	"io/ioutil"
 	"log"
 	"path/filepath"
@@ -121,23 +120,6 @@ func (c *Container) copyMessage(
 	if !ok {
 		return fmt.Errorf("could not find key for message id %d", uid)
 	}
-
-	f, err := src.Open(key)
-	if err != nil {
-		return fmt.Errorf("could not open source message: %v", err)
-	}
-
-	del, err := dest.NewDelivery()
-	if err != nil {
-		return fmt.Errorf("could not initialize delivery: %v", err)
-	}
-	defer del.Close()
-
-	if _, err = io.Copy(del, f); err != nil {
-		return fmt.Errorf("could not copy message to delivery: %v", err)
-	}
-
-	// TODO: preserve flags
-
-	return nil
+	_, err := src.Copy(dest, key)
+	return err
 }