On Mon, Jul 04, 2022 at 01:07:59PM -0500, Ian Pilcher via Libc-help wrote: > I am searching for the best way to parse both IPv4 and IPv6 CIDR- > formatted addresses. I have found inet_net_pton(), but it only supports > IPv4 (AF_INET) addresses. I never tried it, but this is what my version [1] of the libc docs say: -- Function: int inet_pton (int AF, const char *CP, void *BUF) Preliminary: | MT-Safe locale | AS-Safe | AC-Safe | *Note POSIX Safety Concepts::. This function converts an Internet address (either IPv4 or IPv6) from presentation (textual) to network (binary) format. AF should be either ‘AF_INET’ or ‘AF_INET6’, as appropriate for the type of address being converted. CP is a pointer to the input string, and BUF is a pointer to a buffer for the result. It is the caller’s responsibility to make sure the buffer is large enough. -- Function: const char * inet_ntop (int AF, const void *CP, char *BUF, socklen_t LEN) Preliminary: | MT-Safe locale | AS-Safe | AC-Safe | *Note POSIX Safety Concepts::. This function converts an Internet address (either IPv4 or IPv6) from network (binary) to presentation (textual) form. AF should be either ‘AF_INET’ or ‘AF_INET6’, as appropriate. CP is a pointer to the address to be converted. BUF should be a pointer to a buffer to hold the result, and LEN is the length of this buffer. The return value from the function will be this buffer address. so they seem to cover your needs? > Needless to say, this is pretty disappointing in 2022. Is there an > alternative API that I should be using, or am I stuck writing my own? C'm on. Be nice :) Cheers [1] This is ‘The GNU C Library Reference Manual’, for Version (Debian glibc-doc-reference 2.31-1) of the GNU C Library. -- t