propagate from branch 'im.pidgin.pidgin.2.x.y' (head fc06dd6b7c3f7dc1ba81cbba8692423a5c64ba4a)

Tue, 13 Dec 2011 15:33:12 +0000

author
Daniel Atallah <datallah@pidgin.im>
date
Tue, 13 Dec 2011 15:33:12 +0000
changeset 32744
163329b5c8f6
parent 32743
0cbd21741abc (current diff)
parent 32069
fc06dd6b7c3f (diff)
child 32745
c0648a124649
child 34088
ec5cab88b722

propagate from branch 'im.pidgin.pidgin.2.x.y' (head fc06dd6b7c3f7dc1ba81cbba8692423a5c64ba4a)
to branch 'im.pidgin.pidgin' (head 0cbd21741abc4584fc44d13b0a69f0560f841117)

gaim-uninstalled.pc.in file | annotate | diff | comparison | revisions
gaim.pc.in file | annotate | diff | comparison | revisions
libpurple/gaim-compat.h file | annotate | diff | comparison | revisions
libpurple/protocols/bonjour/jabber.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/Makefile.am file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/Makefile.mingw file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/README file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/TODO file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/buddy.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/chat.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/ft.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/ops.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/pk.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/silc.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/silcpurple.h file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/util.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/wb.c file | annotate | diff | comparison | revisions
libpurple/protocols/silc10/wb.h file | annotate | diff | comparison | revisions
libpurple/purple-2-uninstalled.pc.in file | annotate | diff | comparison | revisions
libpurple/purple-2.pc.in file | annotate | diff | comparison | revisions
libpurple/purple-3-uninstalled.pc.in file | annotate | diff | comparison | revisions
libpurple/purple-3.pc.in file | annotate | diff | comparison | revisions
libpurple/purple-uninstalled.pc.in file | annotate | diff | comparison | revisions
libpurple/purple.pc.in file | annotate | diff | comparison | revisions
libpurple/win32/libc_interface.c file | annotate | diff | comparison | revisions
libpurple/win32/libc_interface.h file | annotate | diff | comparison | revisions
libpurple/win32/libc_internal.h file | annotate | diff | comparison | revisions
pidgin/gtkdocklet-gtk.c file | annotate | diff | comparison | revisions
pidgin/gtkgaim-compat.h file | annotate | diff | comparison | revisions
pidgin/pidgin-2-uninstalled.pc.in file | annotate | diff | comparison | revisions
pidgin/pidgin-2.pc.in file | annotate | diff | comparison | revisions
pidgin/pidgin-3-uninstalled.pc.in file | annotate | diff | comparison | revisions
pidgin/pidgin-3.pc.in file | annotate | diff | comparison | revisions
pidgin/pidgin-uninstalled.pc.in file | annotate | diff | comparison | revisions
pidgin/pidgin.pc.in file | annotate | diff | comparison | revisions
--- a/libpurple/protocols/bonjour/jabber.c	Mon Dec 12 09:01:21 2011 +0000
+++ b/libpurple/protocols/bonjour/jabber.c	Tue Dec 13 15:33:12 2011 +0000
@@ -1455,7 +1455,7 @@
 }
 
 void
-append_iface_if_linklocal(char *ip, uint32_t interface) {
+append_iface_if_linklocal(char *ip, guint32 interface_param) {
 	struct in6_addr in6_addr;
 	int len_remain = INET6_ADDRSTRLEN - strlen(ip);
 
@@ -1467,5 +1467,5 @@
 		return;
 
 	snprintf(ip + strlen(ip), len_remain, "%%%d",
-		 interface);
+		 interface_param);
 }
--- a/libpurple/protocols/bonjour/jabber.h	Mon Dec 12 09:01:21 2011 +0000
+++ b/libpurple/protocols/bonjour/jabber.h	Tue Dec 13 15:33:12 2011 +0000
@@ -111,6 +111,6 @@
 int xep_iq_send_and_free(XepIq *iq);
 GSList * bonjour_jabber_get_local_ips(int fd);
 
-void append_iface_if_linklocal(char *ip, uint32_t interface);
+void append_iface_if_linklocal(char *ip, guint32 interface_param);
 
 #endif /* _BONJOUR_JABBER_H_ */
--- a/libpurple/win32/libc_interface.c	Mon Dec 12 09:01:21 2011 +0000
+++ b/libpurple/win32/libc_interface.c	Tue Dec 13 15:33:12 2011 +0000
@@ -300,6 +300,50 @@
   return (const char *) dst;
 }
 
+int
+wpurple_inet_pton(int af, const char *src, void *dst)
+{
+	/* struct sockaddr can't accomodate struct sockaddr_in6. */
+	union {
+		struct sockaddr_in6 sin6;
+		struct sockaddr_in sin;
+	} sa;
+	size_t srcsize;
+	
+	switch(af)
+	{
+		case AF_INET:
+			sa.sin.sin_family = AF_INET;
+			srcsize = sizeof (sa.sin);
+		break;
+		case AF_INET6:
+			sa.sin6.sin6_family = AF_INET6;
+			srcsize = sizeof (sa.sin6);
+		break;
+		default:
+			errno = WSAEPFNOSUPPORT;
+			return -1;
+	}
+	
+	if (WSAStringToAddress(src, af, NULL, (struct sockaddr *) &sa, &srcsize) != 0)
+	{
+		errno = WSAGetLastError();
+		return -1;
+	}
+	
+	switch(af)
+	{
+		case AF_INET:
+			memcpy(dst, &sa.sin.sin_addr, sizeof(sa.sin.sin_addr));
+		break;
+		case AF_INET6:
+			memcpy(dst, &sa.sin6.sin6_addr, sizeof(sa.sin6.sin6_addr));
+		break;
+	}
+	
+	return 1;
+}
+
 
 /* netdb.h */
 struct hostent* wpurple_gethostbyname(const char *name) {
--- a/libpurple/win32/libc_interface.h	Mon Dec 12 09:01:21 2011 +0000
+++ b/libpurple/win32/libc_interface.h	Tue Dec 13 15:33:12 2011 +0000
@@ -89,6 +89,9 @@
 #define inet_ntop( af, src, dst, cnt ) \
 wpurple_inet_ntop( af, src, dst, cnt )
 
+#define inet_pton( af, src, dst ) \
+wpurple_inet_pton( af, src, dst )
+
 /* netdb.h */
 #define gethostbyname( name ) \
 wpurple_gethostbyname( name )
--- a/libpurple/win32/libc_internal.h	Mon Dec 12 09:01:21 2011 +0000
+++ b/libpurple/win32/libc_internal.h	Tue Dec 13 15:33:12 2011 +0000
@@ -48,6 +48,7 @@
 int wpurple_inet_aton(const char *name, struct in_addr *addr);
 const char *
 wpurple_inet_ntop (int af, const void *src, char *dst, socklen_t cnt);
+int wpurple_inet_pton(int af, const char *src, void *dst);
 
 /* netdb.h */
 struct hostent* wpurple_gethostbyname(const char *name);

mercurial