mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
Ensure we're actually initializing the winsock library
It turns out that just calling g_inet_address_get_type() isn't enough, since its marked G_GNUC_CONST, so the call is optimized away. If we assign the return value to a volatile location we ensure it is called.
This commit is contained in:
parent
49dfb50afc
commit
d80e12104f
@ -311,6 +311,7 @@ g_inet_address_new_from_string (const gchar *string)
|
||||
struct sockaddr_storage sa;
|
||||
struct sockaddr_in *sin = (struct sockaddr_in *)&sa;
|
||||
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&sa;
|
||||
volatile GType type;
|
||||
gint len;
|
||||
#else /* !G_OS_WIN32 */
|
||||
struct in_addr in_addr;
|
||||
@ -318,7 +319,7 @@ g_inet_address_new_from_string (const gchar *string)
|
||||
#endif
|
||||
|
||||
/* Make sure _g_networking_init() has been called */
|
||||
(void) g_inet_address_get_type ();
|
||||
type = g_inet_address_get_type ();
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
memset (&sa, 0, sizeof (sa));
|
||||
|
Loading…
Reference in New Issue
Block a user