I plan to return fake `struct addrinfo' lists from `netaddress_resolve',
but I can't make one which can be freed using `freeaddrinfo''s secret
recipe, so I must make my own veneer.
* @param passive True if passive (bindable) address is desired
* @param protocol Protocol number desired (e.g. @c IPPROTO_TCP)
* @return List of suitable addresses or NULL
* @param passive True if passive (bindable) address is desired
* @param protocol Protocol number desired (e.g. @c IPPROTO_TCP)
* @return List of suitable addresses or NULL
+ *
+ * Free the address using netaddress_freeaddrinfo() because it might not
+ * have come from getaddrinfo() directly.
*/
struct addrinfo *netaddress_resolve(const struct netaddress *na,
int passive,
*/
struct addrinfo *netaddress_resolve(const struct netaddress *na,
int passive,
+/** @brief Free an address-info list from netaddress_resovle()
+ * @param res Address-info list
+ */
+void netaddress_freeaddrinfo(struct addrinfo *res) {
+ freeaddrinfo(res);
+}
+
/*
Local Variables:
c-basic-offset:2
/*
Local Variables:
c-basic-offset:2
struct addrinfo *netaddress_resolve(const struct netaddress *na,
int passive,
int protocol) attribute((nonnull (1)));
struct addrinfo *netaddress_resolve(const struct netaddress *na,
int passive,
int protocol) attribute((nonnull (1)));
+void netaddress_freeaddrinfo(struct addrinfo *res) attribute((nonnull (1)));
if(namep)
*namep = format_sockaddr(sa);
if(res)
if(namep)
*namep = format_sockaddr(sa);
if(res)
+ netaddress_freeaddrinfo(res);
}
/* if res is still set it needs freeing */
if(res)
}
/* if res is still set it needs freeing */
if(res)
+ netaddress_freeaddrinfo(res);
}
/** @brief Reconfigure the server
}
/** @brief Reconfigure the server