Avoid back and forth conversion between strings and bytes.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
This commit is contained in:
Anusha Ragunathan 2016-06-15 09:17:05 -07:00
parent b6a8a3da10
commit d6d448aab8

View file

@ -1,21 +1,20 @@
package cli package cli
import "bytes" import "strings"
// Errors is a list of errors. // 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, // 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. // all the errors that happened during the loop.
type Errors []error type Errors []error
func (errs Errors) Error() string { func (errList Errors) Error() string {
if len(errs) < 1 { if len(errList) < 1 {
return "" return ""
} }
var buf bytes.Buffer
buf.WriteString(errs[0].Error()) out := make([]string, len(errList))
for _, err := range errs[1:] { for i := range errList {
buf.WriteString(", ") out[i] = errList[i].Error()
buf.WriteString(err.Error())
} }
return buf.String() return strings.Join(out, ", ")
} }