char * host_ntop(const struct sockaddr *sap, char *buf, const size_t buflen) { socklen_t salen = nfs_sockaddr_length(sap); int error; memset(buf, 0, buflen); if (salen == 0) { (void)strncpy(buf, "bad family", buflen - 1); return buf; } error = getnameinfo(sap, salen, buf, (socklen_t)buflen, NULL, 0, NI_NUMERICHOST); if (error != 0) { buf[0] = '\0'; (void)strncpy(buf, "bad address", buflen - 1); } return buf; }
_Bool statd_present_address(const struct sockaddr *sap, char *buf, const size_t buflen) { socklen_t salen; int error; salen = nfs_sockaddr_length(sap); if (salen == 0) { xlog(D_GENERAL, "%s: unsupported address family", __func__); return false; } error = getnameinfo(sap, salen, buf, (socklen_t)buflen, NULL, 0, NI_NUMERICHOST); if (error != 0) { xlog(D_GENERAL, "%s: getnameinfo(3): %s", __func__, gai_strerror(error)); return false; } return true; }