mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-11 23:16:14 +01:00
gio: replace _g_uri_from_authority() with g_uri_join()
_g_uri_from_authority() is doing the same work as g_uri_join(): taking URI components and merging them in a legit URI string, with encoding. It turns out g_uri_from_authority was unnecessarily complex, since no caller used the userinfo field. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
parent
82ad7853ba
commit
034a4dcdc0
@ -764,46 +764,6 @@ error:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gchar *
|
||||
_g_uri_from_authority (const gchar *protocol,
|
||||
const gchar *host,
|
||||
guint port,
|
||||
const gchar *userinfo)
|
||||
{
|
||||
GString *uri;
|
||||
|
||||
uri = g_string_new (protocol);
|
||||
g_string_append (uri, "://");
|
||||
|
||||
if (userinfo)
|
||||
{
|
||||
g_string_append_uri_escaped (uri, userinfo, G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO, FALSE);
|
||||
g_string_append_c (uri, '@');
|
||||
}
|
||||
|
||||
if (g_hostname_is_non_ascii (host))
|
||||
{
|
||||
gchar *ace_encoded = g_hostname_to_ascii (host);
|
||||
|
||||
if (!ace_encoded)
|
||||
{
|
||||
g_string_free (uri, TRUE);
|
||||
return NULL;
|
||||
}
|
||||
g_string_append (uri, ace_encoded);
|
||||
g_free (ace_encoded);
|
||||
}
|
||||
else if (strchr (host, ':'))
|
||||
g_string_append_printf (uri, "[%s]", host);
|
||||
else
|
||||
g_string_append (uri, host);
|
||||
|
||||
if (port != 0)
|
||||
g_string_append_printf (uri, ":%u", port);
|
||||
|
||||
return g_string_free (uri, FALSE);
|
||||
}
|
||||
|
||||
/**
|
||||
* g_network_address_parse_uri:
|
||||
* @uri: the hostname and optionally a port
|
||||
@ -1459,10 +1419,14 @@ g_network_address_connectable_proxy_enumerate (GSocketConnectable *connectable)
|
||||
GSocketAddressEnumerator *proxy_enum;
|
||||
gchar *uri;
|
||||
|
||||
uri = _g_uri_from_authority (self->priv->scheme ? self->priv->scheme : "none",
|
||||
self->priv->hostname,
|
||||
self->priv->port,
|
||||
NULL);
|
||||
uri = g_uri_join (G_URI_FLAGS_NONE,
|
||||
self->priv->scheme ? self->priv->scheme : "none",
|
||||
NULL,
|
||||
self->priv->hostname,
|
||||
self->priv->port,
|
||||
"",
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
proxy_enum = g_object_new (G_TYPE_PROXY_ADDRESS_ENUMERATOR,
|
||||
"connectable", connectable,
|
||||
|
@ -28,10 +28,6 @@ gboolean _g_uri_parse_authority (const char *uri,
|
||||
guint16 *port,
|
||||
char **userinfo,
|
||||
GError **error);
|
||||
gchar * _g_uri_from_authority (const gchar *protocol,
|
||||
const gchar *host,
|
||||
guint port,
|
||||
const gchar *userinfo);
|
||||
|
||||
guint64 g_resolver_get_serial (GResolver *resolver);
|
||||
|
||||
|
@ -465,10 +465,14 @@ g_network_service_address_enumerator_next (GSocketAddressEnumerator *enumerator
|
||||
continue;
|
||||
}
|
||||
|
||||
uri = _g_uri_from_authority (g_network_service_get_scheme (srv_enum->srv),
|
||||
hostname,
|
||||
g_srv_target_get_port (target),
|
||||
NULL);
|
||||
uri = g_uri_join (G_URI_FLAGS_NONE,
|
||||
g_network_service_get_scheme (srv_enum->srv),
|
||||
NULL,
|
||||
hostname,
|
||||
g_srv_target_get_port (target),
|
||||
"",
|
||||
NULL,
|
||||
NULL);
|
||||
g_free (hostname);
|
||||
|
||||
addr = g_network_address_parse_uri (uri,
|
||||
|
@ -398,7 +398,7 @@ g_socket_address_connectable_proxy_enumerate (GSocketConnectable *connectable)
|
||||
g_object_get (connectable, "address", &addr, "port", &port, NULL);
|
||||
|
||||
ip = g_inet_address_to_string (addr);
|
||||
uri = _g_uri_from_authority ("none", ip, port, NULL);
|
||||
uri = g_uri_join (G_URI_FLAGS_NONE, "none", NULL, ip, port, "", NULL, NULL);
|
||||
|
||||
addr_enum = g_object_new (G_TYPE_PROXY_ADDRESS_ENUMERATOR,
|
||||
"connectable", connectable,
|
||||
|
Loading…
Reference in New Issue
Block a user