diff options
Diffstat (limited to 'gio/gresolver.c')
-rw-r--r-- | gio/gresolver.c | 11 |
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; } |