From 63bccf7f313697ef76fb924feac741bf808340e1 Mon Sep 17 00:00:00 2001 From: Anusha Ragunathan Date: Wed, 15 Jun 2016 09:17:05 -0700 Subject: [PATCH] Avoid back and forth conversion between strings and bytes. Signed-off-by: Anusha Ragunathan --- error.go | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/error.go b/error.go index 902d1b6e49..e421c7f7c7 100644 --- a/error.go +++ b/error.go @@ -1,21 +1,20 @@ package cli -import "bytes" +import "strings" // Errors is a list of errors. // Useful in a loop if you don't want to return the error right away and you want to display after the loop, // all the errors that happened during the loop. type Errors []error -func (errs Errors) Error() string { - if len(errs) < 1 { +func (errList Errors) Error() string { + if len(errList) < 1 { return "" } - var buf bytes.Buffer - buf.WriteString(errs[0].Error()) - for _, err := range errs[1:] { - buf.WriteString(", ") - buf.WriteString(err.Error()) + + out := make([]string, len(errList)) + for i := range errList { + out[i] = errList[i].Error() } - return buf.String() + return strings.Join(out, ", ") }