summary refs log tree commit diff stats
path: root/commands
diff options
context:
space:
mode:
authorRéouven Assouly <reouvenassouly@yahoo.fr>2019-06-15 12:28:03 +0200
committerDrew DeVault <sir@cmpwn.com>2019-06-16 11:24:42 -0400
commitdfe114b643702b31a4dedc7cfe5b67a798f2e6cd (patch)
tree64c70a907f764e3ccfd924281681c885695fec1b /commands
parent1b7790553e04816c3dd677848b2584ffd6785220 (diff)
downloadaerc-dfe114b643702b31a4dedc7cfe5b67a798f2e6cd.tar.gz
Make part encoding checks case insensitive
commands/msgview/save and commands/msgview/pipe now use case
insensitive comparisons to determine if the part is encoded as base64
or quoted-printable.
Diffstat (limited to 'commands')
-rw-r--r--commands/msgview/pipe.go6
-rw-r--r--commands/msgview/save.go7
2 files changed, 7 insertions, 6 deletions
diff --git a/commands/msgview/pipe.go b/commands/msgview/pipe.go
index 81cef7d..a84cdf5 100644
--- a/commands/msgview/pipe.go
+++ b/commands/msgview/pipe.go
@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"io"
 	"mime/quotedprintable"
+	"strings"
 
 	"git.sr.ht/~sircmpwn/aerc/commands"
 	"git.sr.ht/~sircmpwn/aerc/widgets"
@@ -25,10 +26,9 @@ func Pipe(aerc *widgets.Aerc, args []string) error {
 
 	p.Store.FetchBodyPart(p.Msg.Uid, p.Index, func(reader io.Reader) {
 		// email parts are encoded as 7bit (plaintext), quoted-printable, or base64
-		switch p.Part.Encoding {
-		case "base64":
+		if strings.EqualFold(p.Part.Encoding, "base64") {
 			reader = base64.NewDecoder(base64.StdEncoding, reader)
-		case "quoted-printable":
+		} else if strings.EqualFold(p.Part.Encoding, "quoted-printable") {
 			reader = quotedprintable.NewReader(reader)
 		}
 
diff --git a/commands/msgview/save.go b/commands/msgview/save.go
index b15f42d..eff9c66 100644
--- a/commands/msgview/save.go
+++ b/commands/msgview/save.go
@@ -7,6 +7,7 @@ import (
 	"mime/quotedprintable"
 	"os"
 	"path/filepath"
+	"strings"
 	"time"
 
 	"git.sr.ht/~sircmpwn/aerc/widgets"
@@ -43,10 +44,10 @@ func Save(aerc *widgets.Aerc, args []string) error {
 
 	p.Store.FetchBodyPart(p.Msg.Uid, p.Index, func(reader io.Reader) {
 		// email parts are encoded as 7bit (plaintext), quoted-printable, or base64
-		switch p.Part.Encoding {
-		case "base64":
+
+		if strings.EqualFold(p.Part.Encoding, "base64") {
 			reader = base64.NewDecoder(base64.StdEncoding, reader)
-		case "quoted-printable":
+		} else if strings.EqualFold(p.Part.Encoding, "quoted-printable") {
 			reader = quotedprintable.NewReader(reader)
 		}