mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 23:46:15 +01:00
gio/ginetaddress.c: Fix Windows XP inet_pton() Emulation
We need to be more careful when we try to assign values to gpointers, so that means we have to assign the value to the properly-dereference gpointer, so that the assigned value will be retained after the function returns. This code will be dropped soon, but it is done for XP compatibility's sake for 2.44. Should fix the issue reported in bug 730352 comment #24.
This commit is contained in:
parent
fd789f1187
commit
3e29dadae4
@ -417,7 +417,8 @@ inet_pton (gint family,
|
|||||||
/* XXX: Figure out when WSAStringToAddress() accepts a IPv4 address but the
|
/* XXX: Figure out when WSAStringToAddress() accepts a IPv4 address but the
|
||||||
numbers-and-dots address is actually not complete. This code will be
|
numbers-and-dots address is actually not complete. This code will be
|
||||||
removed once XP/Server 2003 support is dropped... */
|
removed once XP/Server 2003 support is dropped... */
|
||||||
addr = &sin->sin_addr;
|
*(IN_ADDR *) addr = sin->sin_addr;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -425,7 +426,7 @@ inet_pton (gint family,
|
|||||||
{
|
{
|
||||||
if (WSAStringToAddress ((LPTSTR) addr_string, AF_INET6, NULL, (LPSOCKADDR) &sa, &len) == 0)
|
if (WSAStringToAddress ((LPTSTR) addr_string, AF_INET6, NULL, (LPSOCKADDR) &sa, &len) == 0)
|
||||||
{
|
{
|
||||||
addr = &sin6->sin6_addr;
|
*(IN6_ADDR *) addr = sin6->sin6_addr;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user