summaryrefslogtreecommitdiff
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
parent06a5399c14932fbf578b4393f4dabad5927a012d (diff)
downloadperl-406cccc2e08fb455533296366d5eebb52bb80a95.tar.gz
Upgrade Socket from version 2.011 to 2.012
-rwxr-xr-xPorting/Maintainers.pl2
-rw-r--r--cpan/Socket/Socket.pm2
-rw-r--r--cpan/Socket/Socket.xs13
-rw-r--r--pod/perldelta.pod6
4 files changed, 17 insertions, 6 deletions
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 053477d6ad..86916ce14e 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1586,7 +1586,7 @@ use File::Glob qw(:case);
'Socket' => {
'MAINTAINER' => 'pevans',
- 'DISTRIBUTION' => 'PEVANS/Socket-2.011.tar.gz',
+ 'DISTRIBUTION' => 'PEVANS/Socket-2.012.tar.gz',
'FILES' => q[cpan/Socket],
'UPSTREAM' => 'cpan',
},
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");
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 1983c58ade..fc3e663d88 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -305,6 +305,12 @@ package "0" is defined but false.
=item *
+L<Socket> has been upgraded from version 2.011 to 2.012.
+
+Syntax errors when building on the WinCE platform have been fixed. [cpan #87389]
+
+=item *
+
L<Storable> has been upgraded from version 2.46 to 2.47.
This upgrade is part of a larger change to preserve referential identity when