Mercurial > pidgin
diff libpurple/network.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 | 7a05b6f84545 |
line wrap: on
line diff
--- a/libpurple/network.c Sat Nov 03 17:04:25 2007 +0000 +++ b/libpurple/network.c Sat Nov 03 17:52:28 2007 +0000 @@ -285,7 +285,7 @@ #ifndef _WIN32 purple_debug_warning("network", "getaddrinfo: %s\n", gai_strerror(errnum)); if (errnum == EAI_SYSTEM) - purple_debug_warning("network", "getaddrinfo: system error: %s\n", strerror(errno)); + purple_debug_warning("network", "getaddrinfo: system error: %s\n", g_strerror(errno)); #else purple_debug_warning("network", "getaddrinfo: Error Code = %d\n", errnum); #endif @@ -302,7 +302,7 @@ if (listenfd < 0) continue; if (setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) != 0) - purple_debug_warning("network", "setsockopt: %s\n", strerror(errno)); + purple_debug_warning("network", "setsockopt: %s\n", g_strerror(errno)); if (bind(listenfd, next->ai_addr, next->ai_addrlen) == 0) break; /* success */ /* XXX - It is unclear to me (datallah) whether we need to be @@ -318,26 +318,26 @@ struct sockaddr_in sockin; if ((listenfd = socket(AF_INET, socket_type, 0)) < 0) { - purple_debug_warning("network", "socket: %s\n", strerror(errno)); + purple_debug_warning("network", "socket: %s\n", g_strerror(errno)); return NULL; } if (setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) != 0) - purple_debug_warning("network", "setsockopt: %s\n", strerror(errno)); + purple_debug_warning("network", "setsockopt: %s\n", g_strerror(errno)); memset(&sockin, 0, sizeof(struct sockaddr_in)); sockin.sin_family = PF_INET; sockin.sin_port = htons(port); if (bind(listenfd, (struct sockaddr *)&sockin, sizeof(struct sockaddr_in)) != 0) { - purple_debug_warning("network", "bind: %s\n", strerror(errno)); + purple_debug_warning("network", "bind: %s\n", g_strerror(errno)); close(listenfd); return NULL; } #endif if (socket_type == SOCK_STREAM && listen(listenfd, 4) != 0) { - purple_debug_warning("network", "listen: %s\n", strerror(errno)); + purple_debug_warning("network", "listen: %s\n", g_strerror(errno)); close(listenfd); return NULL; } @@ -426,7 +426,7 @@ len = sizeof(addr); if (getsockname(fd, (struct sockaddr *) &addr, &len) == -1) { - purple_debug_warning("network", "getsockname: %s\n", strerror(errno)); + purple_debug_warning("network", "getsockname: %s\n", g_strerror(errno)); return 0; }
