From a103309935c4a2c72770343542493d1c285d94dd Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 3 Dec 2019 18:41:23 +0100 Subject: Add support for replying to a message --- strconv.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'strconv.go') diff --git a/strconv.go b/strconv.go index 0879aac..b34241d 100644 --- a/strconv.go +++ b/strconv.go @@ -4,12 +4,13 @@ import ( "fmt" "strconv" "strings" + "net/url" ) func parseUid(s string) (uint32, error) { uid, err := strconv.ParseUint(s, 10, 32) if err != nil { - return 0, err + return 0, fmt.Errorf("invalid UID: %v", err) } if uid == 0 { return 0, fmt.Errorf("UID must be non-zero") @@ -17,6 +18,15 @@ func parseUid(s string) (uint32, error) { return uint32(uid), nil } +func parseMboxAndUid(mboxString, uidString string) (string, uint32, error) { + mboxName, err := url.PathUnescape(mboxString) + if err != nil { + return "", 0, fmt.Errorf("invalid mailbox name: %v", err) + } + uid, err := parseUid(uidString) + return mboxName, uid, err +} + func parsePartPath(s string) ([]int, error) { if s == "" { return nil, nil -- cgit v1.2.3-59-g8ed1b