Use errors.Join instead of copied version

This commit is contained in:
Cuong Manh Le
2023-04-05 16:58:58 +07:00
committed by Cuong Manh Le
parent 663dbbb476
commit 24e62e18fa
2 changed files with 1 additions and 44 deletions

View File

@@ -1,43 +0,0 @@
package ctrld
// TODO(cuonglm): use stdlib once we bump minimum version to 1.20
func joinErrors(errs ...error) error {
n := 0
for _, err := range errs {
if err != nil {
n++
}
}
if n == 0 {
return nil
}
e := &joinError{
errs: make([]error, 0, n),
}
for _, err := range errs {
if err != nil {
e.errs = append(e.errs, err)
}
}
return e
}
type joinError struct {
errs []error
}
func (e *joinError) Error() string {
var b []byte
for i, err := range e.errs {
if i > 0 {
b = append(b, '\n')
}
b = append(b, err.Error()...)
}
return string(b)
}
func (e *joinError) Unwrap() []error {
return e.errs
}

View File

@@ -93,7 +93,7 @@ func (o *osResolver) Resolve(ctx context.Context, msg *dns.Msg) (*dns.Msg, error
errs = append(errs, res.err)
}
return nil, joinErrors(errs...)
return nil, errors.Join(errs...)
}
func newDialer(dnsAddress string) *net.Dialer {