diff options
author | Marek Kasik <mkasik@redhat.com> | 2013-03-12 16:26:37 +0100 |
---|---|---|
committer | Marek Kasik <mkasik@redhat.com> | 2013-03-13 10:54:44 +0100 |
commit | 36d2324891d330d54156558e1405c9a0d7426157 (patch) | |
tree | 6d99dbbf15cc1e15ae579be852ebfb00fe3302ed /modules | |
parent | b9e189150bfd62c9e956e29324622058672600f0 (diff) | |
download | gtk+-36d2324891d330d54156558e1405c9a0d7426157.tar.gz |
printing: Show Avahi printers on IPv6 network
Create correct URIs for printers on IPv6 networks.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/printbackends/cups/gtkprintbackendcups.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index 4d095de79a..60faad06cc 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -2533,6 +2533,7 @@ avahi_resolver_found_cb (GaServiceResolver *resolver, { GtkPrintBackendCups *backend = GTK_PRINT_BACKEND_CUPS (user_data); AvahiStringList *item; + const gchar *protocol_string; gchar host[AVAHI_ADDRESS_STR_MAX]; gchar *suffix = NULL; gchar *printer_uri; @@ -2546,9 +2547,14 @@ avahi_resolver_found_cb (GaServiceResolver *resolver, if (suffix) { if (g_strcmp0 (type, "_ipp._tcp") == 0) - printer_uri = g_strdup_printf ("ipp://%s:%u/%s", host, port, suffix); + protocol_string = "ipp"; else - printer_uri = g_strdup_printf ("ipps://%s:%u/%s", host, port, suffix); + protocol_string = "ipps"; + + if (protocol == GA_PROTOCOL_INET6) + printer_uri = g_strdup_printf ("%s://[%s]:%u/%s", protocol_string, host, port, suffix); + else + printer_uri = g_strdup_printf ("%s://%s:%u/%s", protocol_string, host, port, suffix); cups_request_avahi_printer_info (printer_uri, host, |