- for (ap = arguments; *ap; ap++) {
-
- if (debug) {
- fprintf(stderr, "Trying to connect to \"%s\" ...\n", *ap);
- }
-
- rc = getaddrinfo(*ap, service, &hints, &res);
-
- if (rc) {
- if (debug) {
- fprintf(stderr, "Lookup of \"%s\" failed: %s\n", *ap,
- gai_strerror(rc));
- }
- continue;
- }
-
- for (ai = res; ai != NULL; ai = ai->ai_next) {
- if (debug) {
- char address[NI_MAXHOST];
-
- rc = getnameinfo(ai->ai_addr, ai->ai_addrlen, address,
- sizeof(address), NULL, 0, NI_NUMERICHOST);
-
- fprintf(stderr, "Connecting to %s...\n",
- rc ? "unknown" : address);
- }
-
- sd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
-
- if (sd < 0) {
- if (debug)
- fprintf(stderr, "socket() failed: %s\n", strerror(errno));
- continue;
- }
-
- if (connect(sd, ai->ai_addr, ai->ai_addrlen) == 0) {
- freeaddrinfo(res);
- client_freelist(ap);
- return sd;
- }