blob: 05454211b8fd45764923f479bebe751f3edece31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
2006-7-19 Brian Masney <masneyb@gftp.org>
* lib/misc.c (gftp_copy_request) - fixes when doing an IPv6 transfer or
using ignore PASV address (from (from Aurelien Jarno) (closes GNOME bugzilla #169671)
--- a/trunk/lib/misc.c 2006/07/20 02:32:58 784
+++ b/trunk/lib/misc.c 2006/07/20 02:37:45 785
@@ -568,8 +568,24 @@
newreq->use_proxy = req->use_proxy;
newreq->logging_function = req->logging_function;
newreq->ai_family = req->ai_family;
- newreq->free_hostp = 0;
- newreq->hostp = NULL;
+
+ if (req->hostp)
+ {
+#if defined (HAVE_GETADDRINFO) && defined (HAVE_GAI_STRERROR)
+ newreq->hostp = g_malloc (sizeof(struct addrinfo));
+ memcpy(newreq->hostp, req->hostp, sizeof(struct addrinfo));
+ if (req->current_hostp)
+ newreq->current_hostp = newreq->hostp + (req->current_hostp - req->hostp);
+#else
+ newreq->hostp = g_malloc (sizeof(struct hostent));
+ memcpy(newreq->hostp, req->hostp, sizeof(struct hostent));
+ newreq->host = req->host;
+ newreq->curhost = req->curhost;
+#endif
+ }
+ else
+ newreq->hostp = NULL;
+ newreq->free_hostp = 1;
gftp_copy_local_options (&newreq->local_options_vars,
&newreq->local_options_hash,
|