+ aihint.ai_family = af;
+ aihint.ai_socktype = SOCK_DGRAM;
+ aihint.ai_flags = AI_ADDRCONFIG;
+ if ((err = getaddrinfo(av[2], av[3], &aihint, &ai1)) != 0)
+ die(1, "getaddrinfo(`%s', `%s'): %s", av[2], av[3], gai_strerror(err));
+ if (*av[1] == '?') { serv = "0"; outf = av[1] + 1; }
+ else { serv = av[1]; outf = 0; }
+ aihint.ai_family = ai1->ai_family;
+ aihint.ai_flags = AI_ADDRCONFIG | AI_PASSIVE;
+ if ((err = getaddrinfo(0, serv, &aihint, &ai0)) != 0)
+ die(1, "getaddrinfo(passive, `%s'): %s", av[1], gai_strerror(err));
+ if ((fd = socket(ai1->ai_family, SOCK_DGRAM, ai1->ai_protocol)) < 0)