mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-22 08:58:54 +02:00
ginetaddress: Scope ID parsing is not supported on win32
getaddrinfo doesn't parse it on Windows. This could be replaced by more manual parsing in the future.
This commit is contained in:
@@ -425,6 +425,10 @@ g_inet_address_init (GInetAddress *address)
|
||||
*
|
||||
* Parses @string as an IP address and creates a new #GInetAddress.
|
||||
*
|
||||
* If @address is an IPv6 address, it can also contain a scope ID
|
||||
* (separated from the address by a `%`). Note that currently this
|
||||
* behavior is platform specific. This may change in a future release.
|
||||
*
|
||||
* Returns: (nullable) (transfer full): a new #GInetAddress corresponding
|
||||
* to @string, or %NULL if @string could not be parsed.
|
||||
* Free the returned object with g_object_unref().
|
||||
|
@@ -402,7 +402,8 @@ g_inet_socket_address_new (GInetAddress *address,
|
||||
* Creates a new #GInetSocketAddress for @address and @port.
|
||||
*
|
||||
* If @address is an IPv6 address, it can also contain a scope ID
|
||||
* (separated from the address by a `%`).
|
||||
* (separated from the address by a `%`). Note that currently this
|
||||
* behavior is platform specific. This may change in a future release.
|
||||
*
|
||||
* Returns: (nullable) (transfer full): a new #GInetSocketAddress,
|
||||
* or %NULL if @address cannot be parsed.
|
||||
|
@@ -53,9 +53,11 @@ test_parse (void)
|
||||
addr = g_inet_address_new_from_string ("204.152.189.116");
|
||||
g_assert (addr != NULL);
|
||||
g_object_unref (addr);
|
||||
#ifndef G_OS_WIN32
|
||||
addr = g_inet_address_new_from_string ("::1%0");
|
||||
g_assert (addr != NULL);
|
||||
g_object_unref (addr);
|
||||
#endif
|
||||
|
||||
addr = g_inet_address_new_from_string ("::1::2");
|
||||
g_assert (addr == NULL);
|
||||
@@ -209,11 +211,12 @@ test_socket_address (void)
|
||||
|
||||
g_object_unref (saddr);
|
||||
|
||||
addr = g_inet_address_new_from_string ("::1%25");
|
||||
addr = g_inet_address_new_from_string ("::1");
|
||||
saddr = G_INET_SOCKET_ADDRESS (g_object_new (G_TYPE_INET_SOCKET_ADDRESS,
|
||||
"address", addr,
|
||||
"port", 308,
|
||||
"flowinfo", 10,
|
||||
"scope-id", 25,
|
||||
NULL));
|
||||
g_object_unref (addr);
|
||||
|
||||
|
Reference in New Issue
Block a user