mirror of
https://github.com/irssi/irssi.git
synced 2025-02-02 15:08:01 -05:00
net_accept(), net_getsockname() IPv6 fixes pointed out by pv2b :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1050 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
806e1f0765
commit
d58ea58abc
@ -255,7 +255,7 @@ GIOChannel *net_accept(GIOChannel *handle, IPADDR *addr, int *port)
|
|||||||
|
|
||||||
g_return_val_if_fail(handle != NULL, NULL);
|
g_return_val_if_fail(handle != NULL, NULL);
|
||||||
|
|
||||||
addrlen = SIZEOF_SOCKADDR(so);
|
addrlen = sizeof(so);
|
||||||
ret = accept(g_io_channel_unix_get_fd(handle), &so.sa, &addrlen);
|
ret = accept(g_io_channel_unix_get_fd(handle), &so.sa, &addrlen);
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
@ -308,14 +308,14 @@ int net_transmit(GIOChannel *handle, const char *data, int len)
|
|||||||
int net_getsockname(GIOChannel *handle, IPADDR *addr, int *port)
|
int net_getsockname(GIOChannel *handle, IPADDR *addr, int *port)
|
||||||
{
|
{
|
||||||
union sockaddr_union so;
|
union sockaddr_union so;
|
||||||
socklen_t len;
|
socklen_t addrlen;
|
||||||
|
|
||||||
g_return_val_if_fail(handle != NULL, -1);
|
g_return_val_if_fail(handle != NULL, -1);
|
||||||
g_return_val_if_fail(addr != NULL, -1);
|
g_return_val_if_fail(addr != NULL, -1);
|
||||||
|
|
||||||
len = SIZEOF_SOCKADDR(so);
|
addrlen = sizeof(so);
|
||||||
if (getsockname(g_io_channel_unix_get_fd(handle),
|
if (getsockname(g_io_channel_unix_get_fd(handle),
|
||||||
(struct sockaddr *) &so, &len) == -1)
|
(struct sockaddr *) &so, &addrlen) == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
sin_get_ip(&so, addr);
|
sin_get_ip(&so, addr);
|
||||||
|
Loading…
Reference in New Issue
Block a user