From 406cccc2e08fb455533296366d5eebb52bb80a95 Mon Sep 17 00:00:00 2001 From: Steve Hay Date: Thu, 5 Sep 2013 00:28:56 +0100 Subject: [PATCH] Upgrade Socket from version 2.011 to 2.012 --- Porting/Maintainers.pl | 2 +- cpan/Socket/Socket.pm | 2 +- cpan/Socket/Socket.xs | 13 +++++++++---- pod/perldelta.pod | 6 ++++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 053477d..86916ce 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 68a7722..ed41f2a 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 10d6620..fe99664 100644 --- a/cpan/Socket/Socket.xs +++ b/cpan/Socket/Socket.xs @@ -47,7 +47,7 @@ # include #endif -#ifdef WIN32 +#if defined(WIN32) && !defined(UNDER_CE) # include #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 1983c58..fc3e663 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -305,6 +305,12 @@ package "0" is defined but false. =item * +L 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 has been upgraded from version 2.46 to 2.47. This upgrade is part of a larger change to preserve referential identity when -- 2.7.4