As of this version, the HOME variable is used if it is set and the
value from /etc/passwd is only used as a fallback.
+* The 'flowinfo' and 'scope_id' fields of GInetSocketAddress
+ (introduced in GLib 2.32) have been fixed to be in host byte order
+ rather than network byte order. This is an incompatible change, but
+ the previous behavior was clearly broken, so it seems unlikely that
+ anyone was using it.
+
Notes about GLib 2.34
=====================
memset (sock, 0, sizeof (*sock));
sock->sin6_family = AF_INET6;
sock->sin6_port = g_htons (addr->priv->port);
- sock->sin6_flowinfo = g_htonl (addr->priv->flowinfo);
- sock->sin6_scope_id = g_htonl (addr->priv->scope_id);
+ sock->sin6_flowinfo = addr->priv->flowinfo;
+ sock->sin6_scope_id = addr->priv->scope_id;
memcpy (&(sock->sin6_addr.s6_addr), g_inet_address_to_bytes (addr->priv->address), sizeof (sock->sin6_addr));
return TRUE;
}
sockaddr = g_object_new (G_TYPE_INET_SOCKET_ADDRESS,
"address", iaddr,
"port", g_ntohs (addr->sin6_port),
- "flowinfo", g_ntohl (addr->sin6_flowinfo),
- "scope_id", g_ntohl (addr->sin6_scope_id),
+ "flowinfo", addr->sin6_flowinfo,
+ "scope_id", addr->sin6_scope_id,
NULL);
g_object_unref (iaddr);
return sockaddr;
sin6.sin6_family = AF_INET6;
sin6.sin6_addr = in6addr_loopback;
sin6.sin6_port = g_htons (42);
- sin6.sin6_scope_id = g_htonl (17);
- sin6.sin6_flowinfo = g_htonl (1729);
+ sin6.sin6_scope_id = 17;
+ sin6.sin6_flowinfo = 1729;
saddr = g_socket_address_new_from_native (&sin6, sizeof (sin6));
g_assert (G_IS_INET_SOCKET_ADDRESS (saddr));