Mercurial > pidgin
diff libpurple/protocols/qq/udp_proxy_s5.c @ 21121:35b4f1dc4c8d
replace most calls to strerror with calls to g_strerror. strerror will return
a locale-specific string in the locale-specific encoding, which isn't
guaranteed to be UTF-8. g_strerror will always return a UTF-8 string.
I left gg and zephyr untouched, since gg doesn't include glib headers yet,
and zephyr does something weird with a #define for strerror. Someone more
familliar with those should take a look.
And the win32 guys should check and see if I screwed something up, since
they had strerror #defined to something else.
This should fix #2247 (and maybe some mystery crashes)
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Sat, 03 Nov 2007 17:52:28 +0000 |
parents | 04fe5601fedb |
children |
line wrap: on
line diff
--- a/libpurple/protocols/qq/udp_proxy_s5.c Sat Nov 03 17:04:25 2007 +0000 +++ b/libpurple/protocols/qq/udp_proxy_s5.c Sat Nov 03 17:52:28 2007 +0000 @@ -74,7 +74,7 @@ memcpy(&sin.sin_port, buf + 8, 2); if (connect(phb->udpsock, (struct sockaddr *) &sin, sizeof(struct sockaddr_in)) < 0) { - purple_debug(PURPLE_DEBUG_INFO, "s5_canread_again", "connect failed: %s\n", strerror(errno)); + purple_debug(PURPLE_DEBUG_INFO, "s5_canread_again", "connect failed: %s\n", g_strerror(errno)); close(phb->udpsock); close(source); g_free(phb->host); @@ -120,7 +120,7 @@ ctllen = sizeof(ctlsin); if (getsockname(source, (struct sockaddr *) &ctlsin, &ctllen) < 0) { - purple_debug(PURPLE_DEBUG_INFO, "QQ", "getsockname: %s\n", strerror(errno)); + purple_debug(PURPLE_DEBUG_INFO, "QQ", "getsockname: %s\n", g_strerror(errno)); close(source); g_free(phb->host); g_free(phb); @@ -300,7 +300,7 @@ len = sizeof(error); if (getsockopt(source, SOL_SOCKET, SO_ERROR, &error, &len) < 0) { - purple_debug(PURPLE_DEBUG_INFO, "getsockopt", "%s\n", strerror(errno)); + purple_debug(PURPLE_DEBUG_INFO, "getsockopt", "%s\n", g_strerror(errno)); close(source); if (phb->account == NULL || purple_account_get_connection(phb->account) != NULL) { @@ -329,7 +329,7 @@ } if (write(source, buf, i) < i) { - purple_debug(PURPLE_DEBUG_INFO, "write", "%s\n", strerror(errno)); + purple_debug(PURPLE_DEBUG_INFO, "write", "%s\n", g_strerror(errno)); purple_debug(PURPLE_DEBUG_ERROR, "socks5 proxy", "Unable to write\n"); close(source);