diff --git a/gio/gwin32networkmonitor.c b/gio/gwin32networkmonitor.c index 9dd5da757..e219225f0 100644 --- a/gio/gwin32networkmonitor.c +++ b/gio/gwin32networkmonitor.c @@ -78,24 +78,24 @@ g_win32_network_monitor_init (GWin32NetworkMonitor *win) } static gboolean -win_network_monitor_get_ip_info (IP_ADDRESS_PREFIX prefix, - GSocketFamily *family, - const guint8 **dest, - gsize *len) +win_network_monitor_get_ip_info (const IP_ADDRESS_PREFIX *prefix, + GSocketFamily *family, + const guint8 **dest, + gsize *len) { - switch (prefix.Prefix.si_family) + switch (prefix->Prefix.si_family) { case AF_UNSPEC: /* Fall-through: AF_UNSPEC deliveres both IPV4 and IPV6 infos, let`s stick with IPV4 here */ case AF_INET: *family = G_SOCKET_FAMILY_IPV4; - *dest = (guint8 *) &prefix.Prefix.Ipv4.sin_addr; - *len = prefix.PrefixLength; + *dest = (guint8 *) &(prefix->Prefix.Ipv4.sin_addr); + *len = prefix->PrefixLength; break; case AF_INET6: *family = G_SOCKET_FAMILY_IPV6; - *dest = (guint8 *) &prefix.Prefix.Ipv6.sin6_addr; - *len = prefix.PrefixLength; + *dest = (guint8 *) &(prefix->Prefix.Ipv6.sin6_addr); + *len = prefix->PrefixLength; break; default: return FALSE; @@ -152,7 +152,7 @@ win_network_monitor_process_table (GWin32NetworkMonitor *win, route = routes->Table + i; - if (!win_network_monitor_get_ip_info (route->DestinationPrefix, &family, &dest, &len)) + if (!win_network_monitor_get_ip_info (&route->DestinationPrefix, &family, &dest, &len)) continue; network = get_network_mask (family, dest, len); @@ -218,13 +218,13 @@ win_network_monitor_invoke_route_changed (gpointer user_data) switch (route_data->type) { case MibDeleteInstance: - if (!win_network_monitor_get_ip_info (route_data->route->DestinationPrefix, &family, &dest, &len)) + if (!win_network_monitor_get_ip_info (&route_data->route->DestinationPrefix, &family, &dest, &len)) break; remove_network (route_data->win, family, dest, len); break; case MibAddInstance: - if (!win_network_monitor_get_ip_info (route_data->route->DestinationPrefix, &family, &dest, &len)) + if (!win_network_monitor_get_ip_info (&route_data->route->DestinationPrefix, &family, &dest, &len)) break; add_network (route_data->win, family, dest, len);