From 64eb5abeff73f290c3b76aa97c6acd7ed627fa2d Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Mon, 5 Dec 2022 13:55:41 +0100 Subject: pkg/email: refactor ParsePatch Currently the function returns the values that are not being used anywhere. Refactor it. --- pkg/email/patch.go | 42 +++++------------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) (limited to 'pkg/email/patch.go') diff --git a/pkg/email/patch.go b/pkg/email/patch.go index 80fac6097..c77d19bed 100644 --- a/pkg/email/patch.go +++ b/pkg/email/patch.go @@ -5,23 +5,19 @@ package email import ( "bufio" - "fmt" + "bytes" "regexp" "strings" ) -func ParsePatch(text string) (title, diff string, err error) { - s := bufio.NewScanner(strings.NewReader(text)) - lastLine := "" +func ParsePatch(message []byte) (diff string) { + s := bufio.NewScanner(bytes.NewReader(message)) diffStarted := false for s.Scan() { ln := s.Text() if lineMatchesDiffStart(ln) { diffStarted = true diff += ln + "\n" - if title == "" { - title = lastLine - } continue } if diffStarted { @@ -36,37 +32,9 @@ func ParsePatch(text string) (title, diff string, err error) { continue } } - if strings.HasPrefix(ln, "Subject: ") { - title = ln[len("Subject: "):] - continue - } - if ln == "" || title != "" || diffStarted { - continue - } - lastLine = ln - if strings.HasPrefix(ln, " ") { - title = ln[4:] - } - } - if err = s.Err(); err != nil { - return - } - if strings.Contains(strings.ToLower(title), "[patch") { - pos := strings.IndexByte(title, ']') - if pos == -1 { - err = fmt.Errorf("title contains '[patch' but not ']'") - return - } - title = title[pos+1:] - } - title = strings.TrimSpace(title) - if title == "" { - err = fmt.Errorf("failed to extract title") - return } - if diff == "" { - err = fmt.Errorf("failed to extract diff") - return + if err := s.Err(); err != nil { + panic("error while scanning from memory: " + err.Error()) } return } -- cgit mrf-deployment