diff --git a/crashreport.go b/crashreport.go index 2ad5f62..22ce675 100644 --- a/crashreport.go +++ b/crashreport.go @@ -130,7 +130,6 @@ func parseHeadThread(sc *lineScanner) (res HeadThread, err error) { } } } - return } // -- Affected level -- @@ -166,7 +165,6 @@ func parseAffectedLevel(sc *lineScanner) (res AffectedLevel, err error) { } firstline = false } - return } type DetailsItem struct { @@ -198,7 +196,6 @@ func parseDetailsItem(sc *lineScanner) (res DetailsItem, err error) { } firstline = false } - return } type CrashReport struct { // ---- Minecraft Crash Report ---- @@ -271,7 +268,6 @@ func ParseCrashReport(r io.Reader) (report *CrashReport, err error) { } } } - return } func (report *CrashReport) GetDetails(key string) (value DetailsItem) { diff --git a/jerror.go b/jerror.go index baeb2d7..076bbc7 100644 --- a/jerror.go +++ b/jerror.go @@ -7,7 +7,7 @@ import ( ) var ( - javaErrorMatcher = regexp.MustCompile(`^(?:\s*Exception in thread "[^"]+"\s+)?([\w\d$_]+(?:\.[\w\d$_]+)+):\s+(.*)$`) + javaErrorMatcher = regexp.MustCompile(`^\s*(?:\s*Exception in thread "[^"]+"\s+)?([\w\d$_]+(?:\.[\w\d$_]+)+):\s+(.*)$`) stackInfoMatcher = regexp.MustCompile(`^\s+at\s+([\w\d$_]+(?:\.[\w\d$_]+)+)\.([\w\d$_<>]+)`) ) @@ -66,7 +66,6 @@ func parseStacktrace0(sc *lineScanner) (st Stacktrace) { return } } - return } func parseJavaError(sc *lineScanner) (je *JavaError) { @@ -134,7 +133,7 @@ func scanJavaErrors(r io.Reader, cb func(*JavaError)) (err error) { Stacktrace: st, LineNo: lineNo, } - if line, ok := strings.CutPrefix(sc.Text(), "Caused by: "); ok { + if line, ok := strings.CutPrefix(strings.TrimSpace(sc.Text()), "Caused by: "); ok { je.CausedBy = parseJavaError0(line, sc) } cb(je)