Mercurial > gftp.yaz
comparison lib/protocols.c @ 641:efe90b739e98
2004-12-12 Brian Masney <masneyb@gftp.org>
* lib/gftp.h lib/protocols.c (gftp_connect_server) - if getaddrinfo()
is not defined in the system, save the current index of the host that we
are connected to
author | masneyb |
---|---|
date | Sun, 12 Dec 2004 11:52:17 +0000 |
parents | ddf1ec822538 |
children | cd38f25b7c5e |
comparison
equal
deleted
inserted
replaced
640:cad45ebbc520 | 641:efe90b739e98 |
---|---|
2238 } | 2238 } |
2239 | 2239 |
2240 #else /* !HAVE_GETADDRINFO */ | 2240 #else /* !HAVE_GETADDRINFO */ |
2241 struct sockaddr_in remote_address; | 2241 struct sockaddr_in remote_address; |
2242 struct servent serv_struct; | 2242 struct servent serv_struct; |
2243 int curhost; | |
2244 | 2243 |
2245 if ((request->use_proxy = gftp_need_proxy (request, service, | 2244 if ((request->use_proxy = gftp_need_proxy (request, service, |
2246 proxy_hostname, proxy_port)) < 0) | 2245 proxy_hostname, proxy_port)) < 0) |
2247 return (request->use_proxy); | 2246 return (request->use_proxy); |
2248 else if (request->use_proxy == 1) | 2247 else if (request->use_proxy == 1) |
2304 return (GFTP_ERETRYABLE); | 2303 return (GFTP_ERETRYABLE); |
2305 } | 2304 } |
2306 } | 2305 } |
2307 | 2306 |
2308 disphost = NULL; | 2307 disphost = NULL; |
2309 for (curhost = 0; request->host.h_addr_list[curhost] != NULL; curhost++) | 2308 for (request->curhost = 0; |
2309 request->host.h_addr_list[request->curhost] != NULL; | |
2310 request->curhost++) | |
2310 { | 2311 { |
2311 disphost = request->host.h_name; | 2312 disphost = request->host.h_name; |
2312 memcpy (&remote_address.sin_addr, request->host.h_addr_list[curhost], | 2313 memcpy (&remote_address.sin_addr, |
2314 request->host.h_addr_list[request->curhost], | |
2313 request->host.h_length); | 2315 request->host.h_length); |
2314 request->logging_function (gftp_logging_misc, request, | 2316 request->logging_function (gftp_logging_misc, request, |
2315 _("Trying %s:%d\n"), | 2317 _("Trying %s:%d\n"), |
2316 request->host.h_name, port); | 2318 request->host.h_name, port); |
2317 | 2319 |
2323 connect_host, g_strerror (errno)); | 2325 connect_host, g_strerror (errno)); |
2324 } | 2326 } |
2325 break; | 2327 break; |
2326 } | 2328 } |
2327 | 2329 |
2328 if (request->host.h_addr_list[curhost] == NULL) | 2330 if (request->host.h_addr_list[request->curhost] == NULL) |
2329 { | 2331 { |
2330 close (sock); | 2332 close (sock); |
2331 return (GFTP_ERETRYABLE); | 2333 return (GFTP_ERETRYABLE); |
2332 } | 2334 } |
2333 #endif /* HAVE_GETADDRINFO */ | 2335 #endif /* HAVE_GETADDRINFO */ |