summaryrefslogtreecommitdiff
path: root/gio/gresolver.c
diff options
context:
space:
mode:
Diffstat (limited to 'gio/gresolver.c')
-rw-r--r--gio/gresolver.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gio/gresolver.c b/gio/gresolver.c
index 6a33634c5..7f064322b 100644
--- a/gio/gresolver.c
+++ b/gio/gresolver.c
@@ -340,9 +340,18 @@ handle_ip_address (const char *hostname,
if (inet_aton (hostname, &ip4addr))
#endif
{
+#ifdef G_OS_WIN32
+ gchar *error_message = g_win32_error_message (WSAHOST_NOT_FOUND);
+#else
+ gchar *error_message = g_locale_to_utf8 (gai_strerror (EAI_NONAME), -1, NULL, NULL, NULL);
+ if (error_message == NULL)
+ error_message = g_strdup ("[Invalid UTF-8]");
+#endif
g_set_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND,
_("Error resolving ā€œ%sā€: %s"),
- hostname, gai_strerror (EAI_NONAME));
+ hostname, error_message);
+ g_free (error_message);
+
return TRUE;
}