DnsResolve_4_vec
Description
Spec-based overload (vec form). Accepts a single "host:port" string and appends every matching SocketAddr to out.
Tries SocketAddrParse first (numeric IPv4 127.0.0.1:8080 and bracketed IPv6 [::1]:8080 short-circuit here with no network I/O). Otherwise splits spec on the last : to get host + port and dispatches to DnsResolve_5.
Success
Returns true. out has at least one new entry.
Failure
Returns false. Logs the failure cause.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Dns.c:620:
}
bool DnsResolve_4_vec(DnsResolver *self, const char *spec, SocketKind kind, DnsAddrs *out) {
if (!self || !spec || !out) {
return false;- In
Dns.c:687:
}
DnsAddrs addrs = VecInitT(addrs, self->alloc);
bool ok = DnsResolve_4_vec(self, spec, kind, &addrs);
bool have_one = ok && addrs.length > 0;
if (have_one) {- In
Dns.h:145:
#define DnsResolve(...) MISRA_OVERLOAD(DnsResolve, __VA_ARGS__)
#define DnsResolve_4(self, spec, kind, out) \
_Generic((out), DnsAddrs *: DnsResolve_4_vec, SocketAddr *: DnsResolve_4_one)((self), (spec), (kind), (out))
#ifdef __cplusplus
Last updated on