//go:build darwin || freebsd || linux || openbsd package dhcpd import ( "fmt" "github.com/AdguardTeam/golibs/errors" ) // wrapErrs is a helper to wrap the errors from two independent underlying // connections. func wrapErrs(action string, udpConnErr, rawConnErr error) (err error) { switch { case udpConnErr != nil && rawConnErr != nil: return fmt.Errorf("%s both connections: %s", action, errors.Join(udpConnErr, rawConnErr)) case udpConnErr != nil: return fmt.Errorf("%s udp connection: %w", action, udpConnErr) case rawConnErr != nil: return fmt.Errorf("%s raw connection: %w", action, rawConnErr) default: return nil } }