X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Finit.c;h=20bbc6a29ccb06f8de6e00210ecdc508eec7daab;hp=033307752e628f3338e2acfe7e72666f0360766b;hb=cb4003403509b46d2f6ef6936baf969906ff1430;hpb=e59a7ee8ac8a7e31a52ade02cfdb54d341e2bec1 diff --git a/src/init.c b/src/init.c index 03330775..20bbc6a2 100644 --- a/src/init.c +++ b/src/init.c @@ -527,10 +527,10 @@ static int cmd_address (const char *com, const char *val, void *closure) { struct address_list *al; - struct sockaddr_in sin; - struct sockaddr_in **target = (struct sockaddr_in **)closure; + wget_sockaddr sa; + wget_sockaddr **target = (wget_sockaddr **)closure; - memset (&sin, '\0', sizeof (sin)); + memset (&sa, '\0', sizeof (sa)); al = lookup_host (val, 1); if (!al) @@ -539,16 +539,15 @@ cmd_address (const char *com, const char *val, void *closure) exec_name, com, val); return 0; } - address_list_copy_one (al, 0, (unsigned char *)&sin.sin_addr); + sa.sa.sa_family = ip_default_family; + wget_sockaddr_set_port (&sa, 0); + address_list_copy_one (al, 0, wget_sockaddr_get_addr (&sa)); address_list_release (al); - sin.sin_family = AF_INET; - sin.sin_port = 0; - FREE_MAYBE (*target); - *target = xmalloc (sizeof (sin)); - memcpy (*target, &sin, sizeof (sin)); + *target = xmalloc (sizeof (sa)); + memcpy (*target, &sa, sizeof (sa)); return 1; }