diff options
author | Reto Brunner <reto@labrat.space> | 2020-05-17 13:02:24 +0200 |
---|---|---|
committer | Reto Brunner <reto@labrat.space> | 2020-05-17 13:02:24 +0200 |
commit | 61e994084975e86c53dec89cca49f99693e77424 (patch) | |
tree | e4a9facf1bb87f138bbe856771e28c5a6d9aa099 /commands | |
parent | d48ea6231c76fbfff334be647c8c4d05bf9de387 (diff) | |
download | aerc-61e994084975e86c53dec89cca49f99693e77424.tar.gz |
msg/forward: fix body part selection
Diffstat (limited to 'commands')
-rw-r--r-- | commands/msg/forward.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/commands/msg/forward.go b/commands/msg/forward.go index c044fb6..28abbed 100644 --- a/commands/msg/forward.go +++ b/commands/msg/forward.go @@ -136,9 +136,15 @@ func (forward) Execute(aerc *widgets.Aerc, args []string) error { template = aerc.Config().Templates.Forwards } - // TODO: something more intelligent than fetching the 1st part // TODO: add attachments! - store.FetchBodyPart(msg.Uid, []int{1}, func(reader io.Reader) { + part := findPlaintext(msg.BodyStructure, nil) + if part == nil { + part = findFirstNonMultipart(msg.BodyStructure, nil) + if part == nil { + part = []int{1} + } + } + store.FetchBodyPart(msg.Uid, part, func(reader io.Reader) { buf := new(bytes.Buffer) buf.ReadFrom(reader) original.Text = buf.String() |