diff options
author | Reto Brunner <reto@labrat.space> | 2020-06-19 17:58:08 +0200 |
---|---|---|
committer | Reto Brunner <reto@labrat.space> | 2020-07-27 09:19:27 +0200 |
commit | c574a838fa89bf46bf7188442f400b206b04df95 (patch) | |
tree | 89c40ba4a7f5f5a2e67ca8fb225f7d5d3eb319ad /commands/msg/forward.go | |
parent | 494bd674a98bc9f2889acad0fda3ff4c77c641b5 (diff) | |
download | aerc-c574a838fa89bf46bf7188442f400b206b04df95.tar.gz |
Remove hard coded bodystruct path everywhere
Aerc usually used the path []int{1} if it didn't know what the proper path is.
However this only works for multipart messages and breaks if it isn't one.
This patch removes all the hard coding and extracts the necessary helpers to lib.
Diffstat (limited to 'commands/msg/forward.go')
-rw-r--r-- | commands/msg/forward.go | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/commands/msg/forward.go b/commands/msg/forward.go index 5f4da5cf..3ff0194f 100644 --- a/commands/msg/forward.go +++ b/commands/msg/forward.go @@ -10,6 +10,7 @@ import ( "path" "strings" + "git.sr.ht/~sircmpwn/aerc/lib" "git.sr.ht/~sircmpwn/aerc/models" "git.sr.ht/~sircmpwn/aerc/widgets" "git.sr.ht/~sircmpwn/aerc/worker/types" @@ -137,12 +138,10 @@ func (forward) Execute(aerc *widgets.Aerc, args []string) error { } // TODO: add attachments! - part := findPlaintext(msg.BodyStructure, nil) + part := lib.FindPlaintext(msg.BodyStructure, nil) if part == nil { - part = findFirstNonMultipart(msg.BodyStructure, nil) - if part == nil { - part = []int{1} - } + part = lib.FindFirstNonMultipart(msg.BodyStructure, nil) + // if it's still nil here, we don't have a multipart msg, that's fine } store.FetchBodyPart(msg.Uid, part, func(reader io.Reader) { buf := new(bytes.Buffer) |