Revert "Upgrade Socket to CPAN version 2.008"
authorRicardo Signes <rjbs@cpan.org>
Wed, 16 Jan 2013 15:05:47 +0000 (10:05 -0500)
committerRicardo Signes <rjbs@cpan.org>
Wed, 16 Jan 2013 15:06:47 +0000 (10:06 -0500)
This reverts commit 90ae46a10a094e68135385e525c78962d6572da3.

Socket 2.008 fails to build on Linux in core, and possibly other
platforms as well.

cpan/Socket/Makefile.PL
cpan/Socket/Socket.pm
cpan/Socket/Socket.xs

index 99114d2..639a57c 100644 (file)
@@ -13,7 +13,7 @@ my $seq = 0;
 sub check_for
 {
     my %args = @_;
-    return if defined $Config{$args{confkey}};
+    return if exists $Config{$args{confkey}};
 
     require ExtUtils::CBuilder;
     $cb ||= ExtUtils::CBuilder->new( quiet => 1 );
index acc7bfc..a3a38d9 100644 (file)
@@ -3,7 +3,7 @@ package Socket;
 use strict;
 { use 5.006001; }
 
-our $VERSION = '2.008';
+our $VERSION = '2.006_001';
 
 =head1 NAME
 
index 0690435..4bfaada 100644 (file)
@@ -895,7 +895,7 @@ inet_ntop(af, ip_address_sv)
        SV *    ip_address_sv
        CODE:
 #ifdef HAS_INETNTOP
-       STRLEN addrlen;
+       STRLEN addrlen, struct_size;
 #ifdef AF_INET6
        struct in6_addr addr;
        char str[INET6_ADDRSTRLEN];
@@ -910,17 +910,19 @@ inet_ntop(af, ip_address_sv)
 
        ip_address = SvPV(ip_address_sv, addrlen);
 
+       struct_size = sizeof(addr);
+
        switch(af) {
          case AF_INET:
            if(addrlen != 4)
                croak("Bad address length for Socket::inet_ntop on AF_INET;"
-                     " got %"UVuf", should be 4", (UV)addrlen);
+                     " got %d, should be 4", addrlen);
            break;
 #ifdef AF_INET6
          case AF_INET6:
            if(addrlen != 16)
                croak("Bad address length for Socket::inet_ntop on AF_INET6;"
-                     " got %"UVuf", should be 16", (UV)addrlen);
+                     " got %d, should be 16", addrlen);
            break;
 #endif
          default:
@@ -933,13 +935,7 @@ inet_ntop(af, ip_address_sv)
                      "Socket::inet_ntop", af);
        }
 
-       if(addrlen < sizeof(addr)) {
-           Copy(ip_address, &addr, addrlen, char);
-           Zero(((char*)&addr) + addrlen, sizeof(addr) - addrlen, char);
-       }
-       else {
-           Copy(ip_address, &addr, sizeof addr, char);
-       }
+       Copy(ip_address, &addr, sizeof addr, char);
        inet_ntop(af, &addr, str, sizeof str);
 
        ST(0) = sv_2mortal(newSVpvn(str, strlen(str)));