summaryrefslogtreecommitdiff
path: root/cpan/Socket
diff options
context:
space:
mode:
authorSteve Hay <steve.m.hay@googlemail.com>2013-09-05 00:28:56 +0100
committerSteve Hay <steve.m.hay@googlemail.com>2013-09-05 00:28:56 +0100
commit406cccc2e08fb455533296366d5eebb52bb80a95 (patch)
treee6cd091a09569d8b3f872ab6559db00ef94652ee /cpan/Socket
parent06a5399c14932fbf578b4393f4dabad5927a012d (diff)
downloadperl-406cccc2e08fb455533296366d5eebb52bb80a95.tar.gz
Upgrade Socket from version 2.011 to 2.012
Diffstat (limited to 'cpan/Socket')
-rw-r--r--cpan/Socket/Socket.pm2
-rw-r--r--cpan/Socket/Socket.xs13
2 files changed, 10 insertions, 5 deletions
diff --git a/cpan/Socket/Socket.pm b/cpan/Socket/Socket.pm
index 68a7722c48..ed41f2a5b6 100644
--- a/cpan/Socket/Socket.pm
+++ b/cpan/Socket/Socket.pm
@@ -3,7 +3,7 @@ package Socket;
use strict;
{ use 5.006001; }
-our $VERSION = '2.011';
+our $VERSION = '2.012';
=head1 NAME
diff --git a/cpan/Socket/Socket.xs b/cpan/Socket/Socket.xs
index 10d662042c..fe99664dff 100644
--- a/cpan/Socket/Socket.xs
+++ b/cpan/Socket/Socket.xs
@@ -47,7 +47,7 @@
# include <netinet/tcp.h>
#endif
-#ifdef WIN32
+#if defined(WIN32) && !defined(UNDER_CE)
# include <ws2tcpip.h>
#endif
@@ -331,6 +331,11 @@ my_inet_aton(register const char *cp, struct in_addr *addr)
#define NIx_NOHOST (1 << 0)
#define NIx_NOSERV (1 << 1)
+/* On Windows, ole2.h defines a macro called "interface". We don't need that,
+ * and it will complicate the variables in pack_ip_mreq() etc. (RT87389)
+ */
+#undef interface
+
static int
not_here(const char *s)
@@ -1133,9 +1138,9 @@ unpack_ip_mreq_source(mreq_sv)
}
void
-pack_ipv6_mreq(multiaddr, interface)
+pack_ipv6_mreq(multiaddr, ifindex)
SV * multiaddr
- unsigned int interface
+ unsigned int ifindex
CODE:
{
#ifdef HAS_IPV6_MREQ
@@ -1150,7 +1155,7 @@ pack_ipv6_mreq(multiaddr, interface)
"Socket::pack_ipv6_mreq", (UV)len, (UV)sizeof(mreq.ipv6mr_multiaddr));
Zero(&mreq, sizeof(mreq), char);
Copy(multiaddrbytes, &mreq.ipv6mr_multiaddr, sizeof(mreq.ipv6mr_multiaddr), char);
- mreq.ipv6mr_interface = interface;
+ mreq.ipv6mr_interface = ifindex;
ST(0) = sv_2mortal(newSVpvn((char *)&mreq, sizeof(mreq)));
#else
not_here("pack_ipv6_mreq");