diff options
author | Reto Brunner <reto@labrat.space> | 2020-01-04 21:13:51 +0100 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2020-01-05 16:02:45 -0500 |
commit | 9096049f757ca0a43ac5cbad7eb27db8c1897d91 (patch) | |
tree | a60080179514c9862b75a16deaf6dc7c82e65baf /commands/msg/pipe.go | |
parent | 19dfc49481c6c8271115658c46ea68a1c977f1d0 (diff) | |
download | aerc-9096049f757ca0a43ac5cbad7eb27db8c1897d91.tar.gz |
FetchBodyParts: decode source in the workers
Previously the workers returned a mixture of decoded / encoded parts.
This lead to a whole bunch of issues.
This commit changes the msgviewer and the commands to assume parts to already
be decoded
Diffstat (limited to 'commands/msg/pipe.go')
-rw-r--r-- | commands/msg/pipe.go | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/commands/msg/pipe.go b/commands/msg/pipe.go index 2faa5de1..001577c1 100644 --- a/commands/msg/pipe.go +++ b/commands/msg/pipe.go @@ -1,13 +1,10 @@ package msg import ( - "encoding/base64" "errors" "fmt" "io" - "mime/quotedprintable" "os/exec" - "strings" "time" "git.sr.ht/~sircmpwn/aerc/commands" @@ -129,14 +126,7 @@ func (Pipe) Execute(aerc *widgets.Aerc, args []string) error { }) } else if pipePart { p := provider.SelectedMessagePart() - p.Store.FetchBodyPart(p.Msg.Uid, p.Index, func(reader io.Reader) { - // email parts are encoded as 7bit (plaintext), quoted-printable, or base64 - if strings.EqualFold(p.Part.Encoding, "base64") { - reader = base64.NewDecoder(base64.StdEncoding, reader) - } else if strings.EqualFold(p.Part.Encoding, "quoted-printable") { - reader = quotedprintable.NewReader(reader) - } - + p.Store.FetchBodyPart(p.Msg.Uid, p.Msg.BodyStructure, p.Index, func(reader io.Reader) { if background { doExec(reader) } else { |