port = strtoul(serv, &z, 0);
if (!*z && port > 65535) return EAI_SERVICE;
if (!port) {
port = strtoul(serv, &z, 0);
if (!*z && port > 65535) return EAI_SERVICE;
if (!port) {
/* Try as a numeric address */
if (__ipparse(&sa, family, host) >= 0) {
buf = calloc(sizeof *buf, 1+EXTRA);
/* Try as a numeric address */
if (__ipparse(&sa, family, host) >= 0) {
buf = calloc(sizeof *buf, 1+EXTRA);