perl.perl5.changes http://www.nntp.perl.org/group/perl.perl5.changes/ ... Copyright 1998-2008 perl.org Sun, 18 May 2008 13:16:35 +0000 ask@perl.org Change 33854: DEBUG_LEAKING_SCALARS wasn't reporting the correct line number by Dave Mitchell Change 33854 by davem@davem-pigeon on 2008/05/18 12:40:36<br/><br/> DEBUG_LEAKING_SCALARS wasn&#39;t reporting the correct line number<br/> of SVs allocated at runtime<br/><br/>Affected files ...<br/><br/>... //depot/perl/sv.c#1541 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/sv.c#1541 (text) ====<br/>Index: perl/sv.c<br/>--- perl/sv.c#1540~33815~ 2008-05-10 12:57:59.000000000 -0700<br/>+++ perl/sv.c 2008-05-18 05:40:36.000000000 -0700<br/>@@ -249,13 +249,12 @@<br/> SvREFCNT(sv) = 1;<br/> SvFLAGS(sv) = 0;<br/> sv-&gt;sv_debug_optype = PL_op ? PL_op-&gt;op_type : 0;<br/>- sv-&gt;sv_debug_line = (U16) (PL_parser<br/>- ? PL_parser-&gt;copline == NOLINE<br/>- ? PL_curcop<br/>+ sv-&gt;sv_debug_line = (U16) (PL_parser &amp;&amp; PL_parser-&gt;copline != NOLINE<br/>+ ? PL_parser-&gt;copline<br/>+ : PL_curcop<br/> ? CopLINE(PL_curcop)<br/> : 0<br/>- : PL_parser-&gt;copline<br/>- : 0);<br/>+ );<br/> sv-&gt;sv_debug_inpad = 0;<br/> sv-&gt;sv_debug_cloned = 0;<br/> sv-&gt;sv_debug_file = PL_curcop ? savepv(CopFILE(PL_curcop)): NULL;<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21690.html Sun, 18 May 2008 05:45:10 +0000 Change 33853: fix misleading comment about Perl_re_dup_guts by Dave Mitchell Change 33853 by davem@davem-pigeon on 2008/05/18 12:07:19<br/><br/> fix misleading comment about Perl_re_dup_guts<br/><br/>Affected files ...<br/><br/>... //depot/perl/regcomp.c#654 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/regcomp.c#654 (text) ====<br/>Index: perl/regcomp.c<br/>--- perl/regcomp.c#653~33667~ 2008-04-11 05:17:38.000000000 -0700<br/>+++ perl/regcomp.c 2008-05-18 05:07:19.000000000 -0700<br/>@@ -9512,8 +9512,8 @@<br/> /* <br/> re_dup - duplicate a regexp. <br/> <br/>- This routine is expected to clone a given regexp structure. It is not<br/>- compiler under USE_ITHREADS.<br/>+ This routine is expected to clone a given regexp structure. It is only<br/>+ compiled under USE_ITHREADS.<br/> <br/> After all of the core data stored in struct regexp is duplicated<br/> the regexp_engine.dupe method is used to copy any private data<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21689.html Sun, 18 May 2008 05:15:09 +0000 Change 33852: New separations for the pattern match operator documentation, by Rafael Garcia-Suarez Change 33852 by rgs@scipion on 2008/05/18 08:56:12<br/><br/> New separations for the pattern match operator documentation,<br/> suggested by David Nicol:<br/> <br/> Subject: It&#39;s wafer thin!<br/> From: &quot;David Nicol&quot; &lt;davidnicol@gmail.com&gt;<br/> Date: Fri, 9 May 2008 18:14:29 +0000<br/> Message-ID: &lt;934f64a20805091114y40595f9ap9d355b39f20779c1@mail.gmail.com&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/pod/perlop.pod#171 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/pod/perlop.pod#171 (text) ====<br/>Index: perl/pod/perlop.pod<br/>--- perl/pod/perlop.pod#170~33328~ 2008-02-18 03:10:13.000000000 -0800<br/>+++ perl/pod/perlop.pod 2008-05-18 01:56:12.000000000 -0700<br/>@@ -1151,6 +1151,8 @@<br/> that you won&#39;t change the variables in the pattern. If you change them,<br/> Perl won&#39;t even notice. See also L&lt;&quot;qr/STRING/msixpo&quot;&gt;.<br/> <br/>+=item The empty pattern //<br/>+<br/> If the PATTERN evaluates to the empty string, the last<br/> I&lt;successfully&gt; matched regular expression is used instead. In this<br/> case, only the C&lt;g&gt; and C&lt;c&gt; flags on the empty pattern is honoured -<br/>@@ -1167,6 +1169,8 @@<br/> use parentheses or spaces to disambiguate, or even prefix the empty<br/> regex with an C&lt;m&gt; (so C&lt;//&gt; becomes C&lt;m//&gt;).<br/> <br/>+=item Matching in list context<br/>+<br/> If the C&lt;/g&gt; option is not used, C&lt;m//&gt; in list context returns a<br/> list consisting of the subexpressions matched by the parentheses in the<br/> pattern, i.e., (C&lt;$1&gt;, C&lt;$2&gt;, C&lt;$3&gt;...). (Note that here C&lt;$1&gt; etc. are<br/>@@ -1213,6 +1217,8 @@<br/> by adding the C&lt;/c&gt; modifier (e.g. C&lt;m//gc&gt;). Modifying the target<br/> string also resets the search position.<br/> <br/>+=item \G assertion<br/>+<br/> You can intermix C&lt;m//g&gt; matches with C&lt;m/\G.../g&gt;, where C&lt;\G&gt; is a<br/> zero-width assertion that matches the exact position where the previous<br/> C&lt;m//g&gt;, if any, left off. Without the C&lt;/g&gt; modifier, the C&lt;\G&gt; assertion<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21688.html Sun, 18 May 2008 02:00:11 +0000 Change 33851: Fix for [perl #51848] Deparse interpolation in regex literal by Rafael Garcia-Suarez Change 33851 by rgs@scipion on 2008/05/18 08:37:02<br/><br/> Fix for [perl #51848] Deparse interpolation in regex literal<br/><br/>Affected files ...<br/><br/>... //depot/perl/ext/B/B/Deparse.pm#195 edit<br/>... //depot/perl/ext/B/t/deparse.t#37 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/ext/B/B/Deparse.pm#195 (text) ====<br/>Index: perl/ext/B/B/Deparse.pm<br/>--- perl/ext/B/B/Deparse.pm#194~33714~ 2008-04-19 05:08:35.000000000 -0700<br/>+++ perl/ext/B/B/Deparse.pm 2008-05-18 01:37:02.000000000 -0700<br/>@@ -4062,6 +4062,16 @@<br/> return &quot;tr&quot; . double_delim($from, $to) . $flags;<br/> }<br/> <br/>+sub re_dq_disambiguate {<br/>+ my ($first, $last) = @_;<br/>+ # Disambiguate &quot;${foo}bar&quot;, &quot;${foo}{bar}&quot;, &quot;${foo}[1]&quot;<br/>+ ($last =~ /^[A-Z\\\^\[\]_?]/ &amp;&amp;<br/>+ $first =~ s/([\$@])\^$/${1}{^}/) # &quot;${^}W&quot; etc<br/>+ || ($last =~ /^[{\[\w_]/ &amp;&amp;<br/>+ $first =~ s/([\$@])([A-Za-z_]\w*)$/${1}{$2}/);<br/>+ return $first . $last;<br/>+}<br/>+<br/> # Like dq(), but different<br/> sub re_dq {<br/> my $self = shift;<br/>@@ -4077,14 +4087,7 @@<br/> } elsif ($type eq &quot;concat&quot;) {<br/> my $first = $self-&gt;re_dq($op-&gt;first, $extended);<br/> my $last = $self-&gt;re_dq($op-&gt;last, $extended);<br/>-<br/>- # Disambiguate &quot;${foo}bar&quot;, &quot;${foo}{bar}&quot;, &quot;${foo}[1]&quot;<br/>- ($last =~ /^[A-Z\\\^\[\]_?]/ &amp;&amp;<br/>- $first =~ s/([\$@])\^$/${1}{^}/) # &quot;${^}W&quot; etc<br/>- || ($last =~ /^[{\[\w_]/ &amp;&amp;<br/>- $first =~ s/([\$@])([A-Za-z_]\w*)$/${1}{$2}/);<br/>-<br/>- return $first . $last;<br/>+ return re_dq_disambiguate($first, $last);<br/> } elsif ($type eq &quot;uc&quot;) {<br/> return &#39;\U&#39; . $self-&gt;re_dq($op-&gt;first-&gt;sibling, $extended) . &#39;\E&#39;;<br/> } elsif ($type eq &quot;lc&quot;) {<br/>@@ -4156,7 +4159,9 @@<br/> my $str = &#39;&#39;;<br/> $kid = $kid-&gt;first-&gt;sibling;<br/> while (!null($kid)) {<br/>- $str .= $self-&gt;re_dq($kid, $extended);<br/>+ my $first = $str;<br/>+ my $last = $self-&gt;re_dq($kid, $extended);<br/>+ $str = re_dq_disambiguate($first, $last);<br/> $kid = $kid-&gt;sibling;<br/> }<br/> return $str, 1;<br/><br/>==== //depot/perl/ext/B/t/deparse.t#37 (text) ====<br/>Index: perl/ext/B/t/deparse.t<br/>--- perl/ext/B/t/deparse.t#36~33714~ 2008-04-19 05:08:35.000000000 -0700<br/>+++ perl/ext/B/t/deparse.t 2008-05-18 01:37:02.000000000 -0700<br/>@@ -27,7 +27,7 @@<br/> require feature;<br/> feature-&gt;import(&#39;:5.10&#39;);<br/> }<br/>-use Test::More tests =&gt; 60;<br/>+use Test::More tests =&gt; 61;<br/> <br/> use B::Deparse;<br/> my $deparse = B::Deparse-&gt;new();<br/>@@ -416,3 +416,7 @@<br/> elsif ($a and $b) { x(); }<br/> elsif ($a or $b) { x(); }<br/> else { x(); }<br/>+####<br/>+# 54 interpolation in regexps<br/>+my($y, $t);<br/>+/x${y}z$t/;<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21687.html Sun, 18 May 2008 01:45:10 +0000 Change 33850: [perl #53500] op/pwent.t should use the DirectoryService on OS X by Rafael Garcia-Suarez Change 33850 by rgs@scipion on 2008/05/18 08:00:24<br/><br/> Subject: [perl #53500] op/pwent.t should use the DirectoryService on OS X <br/> From: &quot;Tom Wyant via RT&quot; &lt;perlbug-followup@perl.org&gt;<br/> Date: Sun, 11 May 2008 14:40:04 -0700<br/> Message-ID: &lt;rt-3.6.HEAD-20841-1210542001-412.53500-15-0@perl.org&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/t/op/pwent.t#22 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/t/op/pwent.t#22 (xtext) ====<br/>Index: perl/t/op/pwent.t<br/>--- perl/t/op/pwent.t#21~32200~ 2007-10-29 03:49:13.000000000 -0700<br/>+++ perl/t/op/pwent.t 2008-05-18 01:00:24.000000000 -0700<br/>@@ -41,6 +41,71 @@<br/> }<br/> }<br/> <br/>+ if (not defined $where &amp;&amp; # Try dscl<br/>+ $Config{useperlio} eq &#39;define&#39;) { # need perlio<br/>+<br/>+ # Map dscl items to passwd fields, and provide support for<br/>+ # mucking with the dscl output if we need to (and we do).<br/>+ my %want = do {<br/>+ my $inx = 0;<br/>+ map {$_ =&gt; {inx =&gt; $inx++, mung =&gt; sub {$_[0]}}}<br/>+ qw{RecordName Password UniqueID PrimaryGroupID<br/>+ RealName NFSHomeDirectory UserShell};<br/>+ };<br/>+<br/>+ # The RecordName for a /User record is the username. In some<br/>+ # cases there are synonyms (e.g. _www and www), in which case we<br/>+ # get a blank-delimited list. We prefer the first entry in the<br/>+ # list because getpwnam() does.<br/>+ $want{RecordName}{mung} = sub {(split &#39;\s+&#39;, $_[0], 2)[0]};<br/>+<br/>+ # The UniqueID and PrimaryGroupID for a /User record are the<br/>+ # user ID and the primary group ID respectively. In cases where<br/>+ # the high bit is set, &#39;dscl&#39; returns a negative number, whereas<br/>+ # getpwnam() returns its twos complement. This mungs the dscl<br/>+ # output to agree with what getpwnam() produces. Interestingly<br/>+ # enough, getpwuid(-2) returns the right record (&#39;nobody&#39;), even<br/>+ # though it returns the uid as 4294967294. If you track uid_t<br/>+ # on an i386, you find it is an unsigned int, which makes the<br/>+ # unsigned version the right one; but both /etc/passwd and<br/>+ # /etc/master.passwd contain negative numbers.<br/>+ $want{UniqueID}{mung} = $want{PrimaryGroupID}{mung} = sub {<br/>+ unpack &#39;L&#39;, pack &#39;l&#39;, $_[0]};<br/>+<br/>+ foreach my $dscl (qw(/usr/bin/dscl)) {<br/>+ -x $dscl or next;<br/>+ open (my $fh, &#39;-|&#39;, join (&#39; &#39;, $dscl, qw{. -readall /Users},<br/>+ keys %want, &#39;2&gt;/dev/null&#39;)) or next;<br/>+ my $data;<br/>+ my @rec;<br/>+ while (&lt;$fh&gt;) {<br/>+ chomp;<br/>+ if ($_ eq &#39;-&#39;) {<br/>+ @rec and $data .= join (&#39;:&#39;, @rec) . &quot;\n&quot;;<br/>+ @rec = ();<br/>+ next;<br/>+ }<br/>+ my ($name, $value) = split &#39;:\s+&#39;, $_, 2;<br/>+ unless (defined $value) {<br/>+ s/:$//;<br/>+ $name = $_;<br/>+ $value = &lt;$fh&gt;;<br/>+ chomp $value;<br/>+ $value =~ s/^\s+//;<br/>+ }<br/>+ if (defined (my $info = $want{$name})) {<br/>+ $rec[$info-&gt;{inx}] = $info-&gt;{mung}-&gt;($value);<br/>+ }<br/>+ }<br/>+ @rec and $data .= join (&#39;:&#39;, @rec) . &quot;\n&quot;;<br/>+ if (open (PW, &#39;&lt;&#39;, \$data)) {<br/>+ $where = &quot;dscl . -readall /Users&quot;;<br/>+ undef $reason;<br/>+ last;<br/>+ }<br/>+ }<br/>+ }<br/>+<br/> if (not defined $where) { # Try local.<br/> my $PW = &quot;/etc/passwd&quot;;<br/> if (-f $PW &amp;&amp; open(PW, $PW) &amp;&amp; defined(&lt;PW&gt;)) {<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21686.html Sun, 18 May 2008 01:15:09 +0000 Change 33849: [perl #38955] exists(): error message on wrong argument type is incorrect (5.8.7 cygwin) by Rafael Garcia-Suarez Change 33849 by rgs@scipion on 2008/05/18 07:55:44<br/><br/> Subject: [perl #38955] exists(): error message on wrong argument type is incorrect (5.8.7 cygwin) <br/> From: &quot;Bram via RT&quot; &lt;perlbug-followup@perl.org&gt;<br/> Date: Sat, 17 May 2008 04:14:11 -0700<br/> Message-ID: &lt;rt-3.6.HEAD-11257-1211022849-1634.38955-15-0@perl.org&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/op.c#1004 edit<br/>... //depot/perl/pod/perldiag.pod#495 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/op.c#1004 (text) ====<br/>Index: perl/op.c<br/>--- perl/op.c#1003~33766~ 2008-04-30 01:17:51.000000000 -0700<br/>+++ perl/op.c 2008-05-18 00:55:44.000000000 -0700<br/>@@ -6556,7 +6556,7 @@<br/> else if (kid-&gt;op_type == OP_AELEM)<br/> o-&gt;op_flags |= OPf_SPECIAL;<br/> else if (kid-&gt;op_type != OP_HELEM)<br/>- Perl_croak(aTHX_ &quot;%s argument is not a HASH or ARRAY element&quot;,<br/>+ Perl_croak(aTHX_ &quot;%s argument is not a HASH or ARRAY element or a subroutine&quot;,<br/> OP_DESC(o));<br/> op_null(kid);<br/> }<br/><br/>==== //depot/perl/pod/perldiag.pod#495 (text) ====<br/>Index: perl/pod/perldiag.pod<br/>--- perl/pod/perldiag.pod#494~32990~ 2008-01-17 06:23:48.000000000 -0800<br/>+++ perl/pod/perldiag.pod 2008-05-18 00:55:44.000000000 -0700<br/>@@ -131,7 +131,7 @@<br/> <br/> (F) msgsnd() requires a string at least as long as sizeof(long).<br/> <br/>-=item %s argument is not a HASH or ARRAY element<br/>+=item %s argument is not a HASH or ARRAY element or a subroutine<br/> <br/> (F) The argument to exists() must be a hash or array element or a<br/> subroutine with an ampersand, such as:<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21685.html Sun, 18 May 2008 01:00:12 +0000 Change 33848: Re: eval "require Foo" with binary-incompatible XS modules by Rafael Garcia-Suarez Change 33848 by rgs@scipion on 2008/05/18 06:28:49<br/><br/> Subject: Re: eval &quot;require Foo&quot; with binary-incompatible XS modules<br/> From: Niko Tyni &lt;ntyni@debian.org&gt;<br/> Date: Sat, 17 May 2008 21:37:30 +0300<br/> Message-ID: &lt;20080517183730.GA4440@rebekka&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/pod/perlfunc.pod#601 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/pod/perlfunc.pod#601 (text) ====<br/>Index: perl/pod/perlfunc.pod<br/>--- perl/pod/perlfunc.pod#600~33840~ 2008-05-17 03:01:08.000000000 -0700<br/>+++ perl/pod/perlfunc.pod 2008-05-17 23:28:49.000000000 -0700<br/>@@ -1562,6 +1562,10 @@<br/> is implemented. It is also Perl&#39;s exception trapping mechanism, where<br/> the die operator is used to raise exceptions.<br/> <br/>+If you want to trap errors when loading an XS module, some problems with<br/>+the binary interface (such as Perl version skew) may be fatal even with<br/>+C&lt;eval&gt; unless C&lt;$ENV{PERL_DL_NONLAZY}&gt; is set. See L&lt;perlrun&gt;.<br/>+<br/> If the code to be executed doesn&#39;t vary, you may use the eval-BLOCK<br/> form to trap run-time errors without incurring the penalty of<br/> recompiling each time. The error, if any, is still returned in C&lt;$@&gt;.<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21684.html Sat, 17 May 2008 23:30:10 +0000 Change 33847: [PATCH] Thread::Queue 2.08 by Steve Peters Change 33847 by stevep@stevep-kirk on 2008/05/18 03:35:03<br/><br/> Subject: [PATCH] Thread::Queue 2.08<br/> From: &quot;Jerry D. Hedden&quot; &lt;jdhedden@cpan.org&gt;<br/> Date: Wed, 14 May 2008 12:47:04 -0400<br/> Message-ID: &lt;1ff86f510805140947h707fe273j5adec649b5cc4238@mail.gmail.com&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/lib/Thread/Queue.pm#7 edit<br/>... //depot/perl/lib/Thread/Queue/t/02_refs.t#3 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/lib/Thread/Queue.pm#7 (text) ====<br/>Index: perl/lib/Thread/Queue.pm<br/>--- perl/lib/Thread/Queue.pm#6~33808~ 2008-05-10 09:02:24.000000000 -0700<br/>+++ perl/lib/Thread/Queue.pm 2008-05-17 20:35:03.000000000 -0700<br/>@@ -3,19 +3,22 @@<br/> use strict;<br/> use warnings;<br/> <br/>-our $VERSION = &#39;2.07&#39;;<br/>+our $VERSION = &#39;2.08&#39;;<br/> <br/>-use threads::shared 0.96;<br/>+use threads::shared 1.21;<br/> use Scalar::Util 1.10 qw(looks_like_number blessed reftype refaddr);<br/> <br/>+# Carp errors from threads::shared calls should complain about caller<br/>+our @CARP_NOT = (&quot;threads::shared&quot;);<br/>+<br/> # Predeclarations for internal functions<br/>-my ($make_shared, $validate_count, $validate_index);<br/>+my ($validate_count, $validate_index);<br/> <br/> # Create a new queue possibly pre-populated with items<br/> sub new<br/> {<br/> my $class = shift;<br/>- my @queue :shared = map { $make_shared-&gt;($_, {}) } @_;<br/>+ my @queue :shared = map { shared_clone($_) } @_;<br/> return bless(\@queue, $class);<br/> }<br/> <br/>@@ -24,7 +27,7 @@<br/> {<br/> my $queue = shift;<br/> lock(@$queue);<br/>- push(@$queue, map { $make_shared-&gt;($_, {}) } @_)<br/>+ push(@$queue, map { shared_clone($_) } @_)<br/> and cond_signal(@$queue);<br/> }<br/> <br/>@@ -111,7 +114,7 @@<br/> }<br/> <br/> # Add new items to the queue<br/>- push(@$queue, map { $make_shared-&gt;($_, {}) } @_);<br/>+ push(@$queue, map { shared_clone($_) } @_);<br/> <br/> # Add previous items back onto the queue<br/> push(@$queue, @tmp);<br/>@@ -161,98 +164,6 @@<br/> <br/> ### Internal Functions ###<br/> <br/>-# Create a thread-shared version of a complex data structure or object<br/>-$make_shared = sub {<br/>- my ($item, $cloned) = @_;<br/>-<br/>- # If not running &#39;threads&#39; or already thread-shared,<br/>- # then just return the input item<br/>- return $item if (! $threads::threads ||<br/>- threads::shared::is_shared($item));<br/>-<br/>- # Make copies of array, hash and scalar refs<br/>- my $copy;<br/>- if (my $ref_type = reftype($item)) {<br/>- # Check for previously cloned references<br/>- # (this takes care of circular refs as well)<br/>- my $addr = refaddr($item);<br/>- if (defined($addr) &amp;&amp; exists($cloned-&gt;{$addr})) {<br/>- # Return the already existing clone<br/>- return $cloned-&gt;{$addr};<br/>- }<br/>-<br/>- # Copy an array ref<br/>- if ($ref_type eq &#39;ARRAY&#39;) {<br/>- # Make empty shared array ref<br/>- $copy = &amp;share([]);<br/>- # Add to clone checking hash<br/>- $cloned-&gt;{$addr} = $copy;<br/>- # Recursively copy and add contents<br/>- push(@$copy, map { $make_shared-&gt;($_, $cloned) } @$item);<br/>- }<br/>-<br/>- # Copy a hash ref<br/>- elsif ($ref_type eq &#39;HASH&#39;) {<br/>- # Make empty shared hash ref<br/>- $copy = &amp;share({});<br/>- # Add to clone checking hash<br/>- $cloned-&gt;{$addr} = $copy;<br/>- # Recursively copy and add contents<br/>- foreach my $key (keys(%{$item})) {<br/>- $copy-&gt;{$key} = $make_shared-&gt;($item-&gt;{$key}, $cloned);<br/>- }<br/>- }<br/>-<br/>- # Copy a scalar ref<br/>- elsif ($ref_type eq &#39;SCALAR&#39;) {<br/>- $copy = \do{ my $scalar = $$item; };<br/>- share($copy);<br/>- # Clone READONLY flag<br/>- if (Internals::SvREADONLY($$item)) {<br/>- Internals::SvREADONLY($$copy, 1);<br/>- }<br/>- # Add to clone checking hash<br/>- $cloned-&gt;{$addr} = $copy;<br/>- }<br/>-<br/>- # Copy of a ref of a ref<br/>- elsif ($ref_type eq &#39;REF&#39;) {<br/>- # Special handling for $x = \$x<br/>- my $addr2 = refaddr($$item);<br/>- if ($addr2 == $addr) {<br/>- $copy = \$copy;<br/>- share($copy);<br/>- $cloned-&gt;{$addr} = $copy;<br/>- } else {<br/>- my $tmp;<br/>- $copy = \$tmp;<br/>- share($copy);<br/>- # Add to clone checking hash<br/>- $cloned-&gt;{$addr} = $copy;<br/>- # Recursively copy and add contents<br/>- $tmp = $make_shared-&gt;($$item, $cloned);<br/>- }<br/>- }<br/>- }<br/>-<br/>- # If no copy is created above, then just return the input item<br/>- # NOTE: This will end up generating an error for anything<br/>- # other than an ordinary scalar<br/>- return $item if (! defined($copy));<br/>-<br/>- # If input item is an object, then bless the copy into the same class<br/>- if (my $class = blessed($item)) {<br/>- bless($copy, $class);<br/>- }<br/>-<br/>- # Clone READONLY flag<br/>- if (Internals::SvREADONLY($item)) {<br/>- Internals::SvREADONLY($copy, 1);<br/>- }<br/>-<br/>- return $copy;<br/>-};<br/>-<br/> # Check value of the requested index<br/> $validate_index = sub {<br/> my $index = shift;<br/>@@ -291,7 +202,7 @@<br/> <br/> =head1 VERSION<br/> <br/>-This document describes Thread::Queue version 2.07<br/>+This document describes Thread::Queue version 2.08<br/> <br/> =head1 SYNOPSIS<br/> <br/>@@ -544,7 +455,7 @@<br/> L&lt;http://www.cpanforum.com/dist/Thread-Queue&gt;<br/> <br/> Annotated POD for Thread::Queue:<br/>-L&lt;http://annocpan.org/~JDHEDDEN/Thread-Queue-2.07/lib/Thread/Queue.pm&gt;<br/>+L&lt;http://annocpan.org/~JDHEDDEN/Thread-Queue-2.08/lib/Thread/Queue.pm&gt;<br/> <br/> Source repository:<br/> L&lt;http://code.google.com/p/thread-queue/&gt;<br/><br/>==== //depot/perl/lib/Thread/Queue/t/02_refs.t#3 (text) ====<br/>Index: perl/lib/Thread/Queue/t/02_refs.t<br/>--- perl/lib/Thread/Queue/t/02_refs.t#2~33808~ 2008-05-10 09:02:24.000000000 -0700<br/>+++ perl/lib/Thread/Queue/t/02_refs.t 2008-05-17 20:35:03.000000000 -0700<br/>@@ -23,7 +23,7 @@<br/> require Test::More;<br/> }<br/> Test::More-&gt;import();<br/>-plan(&#39;tests&#39; =&gt; 45);<br/>+plan(&#39;tests&#39; =&gt; 46);<br/> <br/> # Regular array<br/> my @ary1 = qw/foo bar baz/;<br/>@@ -82,14 +82,14 @@<br/> is($q-&gt;pending(), 2, &#39;Queue count&#39;);<br/> $q-&gt;enqueue($obj1, $obj2);<br/> is($q-&gt;pending(), 4, &#39;Queue count&#39;);<br/>-$q-&gt;enqueue($sref1, $sref2, $qux);<br/>-is($q-&gt;pending(), 7, &#39;Queue count&#39;);<br/>+$q-&gt;enqueue($sref1, $sref2, $foo, $qux);<br/>+is($q-&gt;pending(), 8, &#39;Queue count&#39;);<br/> $q-&gt;enqueue($cir1, $cir1s, $cir2, $cir3);<br/>-is($q-&gt;pending(), 11, &#39;Queue count&#39;);<br/>+is($q-&gt;pending(), 12, &#39;Queue count&#39;);<br/> <br/> # Process items in thread<br/> threads-&gt;create(sub {<br/>- is($q-&gt;pending(), 11, &#39;Queue count in thread&#39;);<br/>+ is($q-&gt;pending(), 12, &#39;Queue count in thread&#39;);<br/> <br/> my $tary1 = $q-&gt;dequeue();<br/> ok($tary1, &#39;Thread got item&#39;);<br/>@@ -132,6 +132,9 @@<br/> is($$tsref2, 69, &#39;Shared scalar ref contents&#39;);<br/> $$tsref2 = &#39;zzz&#39;;<br/> <br/>+ my $myfoo = $q-&gt;dequeue();<br/>+ is_deeply($myfoo, $foo, &#39;Array ref&#39;);<br/>+<br/> my $qux = $q-&gt;dequeue();<br/> is_deeply($$$$qux, $foo, &#39;Ref of ref&#39;);<br/> <br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21683.html Sat, 17 May 2008 20:45:11 +0000 Change 33846: [PATCH] IO::Compress::* 2.011 by Steve Peters Change 33846 by stevep@stevep-kirk on 2008/05/18 03:25:54<br/><br/> Subject: [PATCH] IO::Compress::* 2.011<br/> From: &quot;Paul Marquess&quot; &lt;Paul.Marquess@ntlworld.com&gt;<br/> Date: Sat, 17 May 2008 12:16:13 +0100<br/> Message-ID: &lt;CF9B8F335CB2417FBA78E0F08EAB1F7D@myopwv.com&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/MANIFEST#1701 edit<br/>... //depot/perl/ext/Compress/Raw/Zlib/Changes#12 edit<br/>... //depot/perl/ext/Compress/Raw/Zlib/README#16 edit<br/>... //depot/perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm#17 edit<br/>... //depot/perl/ext/Compress/Zlib/Changes#24 edit<br/>... //depot/perl/ext/Compress/Zlib/Makefile.PL#27 edit<br/>... //depot/perl/ext/Compress/Zlib/README#25 edit<br/>... //depot/perl/ext/Compress/Zlib/lib/Compress/Zlib.pm#18 edit<br/>... //depot/perl/ext/IO_Compress_Base/Changes#7 edit<br/>... //depot/perl/ext/IO_Compress_Base/README#7 edit<br/>... //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/Changes#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/Makefile.PL#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/README#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm#8 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm#7 edit<br/>... //depot/perl/ext/IO_Compress_Zlib/t/006zip.t#1 add<br/><br/>Differences ...<br/><br/>==== //depot/perl/MANIFEST#1701 (text) ====<br/>Index: perl/MANIFEST<br/>--- perl/MANIFEST#1700~33836~ 2008-05-16 10:31:30.000000000 -0700<br/>+++ perl/MANIFEST 2008-05-17 20:25:54.000000000 -0700<br/>@@ -750,6 +750,7 @@<br/> ext/IO_Compress_Zlib/t/002any-zip.t IO::Compress::Zlib<br/> ext/IO_Compress_Zlib/t/004gziphdr.t IO::Compress::Zlib<br/> ext/IO_Compress_Zlib/t/005defhdr.t IO::Compress::Zlib<br/>+ext/IO_Compress_Zlib/t/006zip.t IO::Compress::Zlib<br/> ext/IO_Compress_Zlib/t/010examples.t IO::Compress::Zlib<br/> ext/IO_Compress_Zlib/t/020isize.t IO::Compress::Zlib<br/> ext/IO_Compress_Zlib/t/050interop-gzip.t IO::Compress::Zlib<br/><br/>==== //depot/perl/ext/Compress/Raw/Zlib/Changes#12 (text) ====<br/>Index: perl/ext/Compress/Raw/Zlib/Changes<br/>--- perl/ext/Compress/Raw/Zlib/Changes#11~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Raw/Zlib/Changes 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,6 +1,11 @@<br/> CHANGES<br/> -------<br/> <br/>+ 2.011 5 May 2008<br/>+<br/>+ * A C++-style comment sneaked in with the last update. Fixed.<br/>+ [core patch #33828]<br/>+<br/> 2.010 5 May 2008<br/> <br/> * No Changes<br/><br/>==== //depot/perl/ext/Compress/Raw/Zlib/README#16 (text) ====<br/>Index: perl/ext/Compress/Raw/Zlib/README<br/>--- perl/ext/Compress/Raw/Zlib/README#15~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Raw/Zlib/README 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,9 +1,9 @@<br/> <br/> Compress-Raw-Zlib<br/> <br/>- Version 2.010<br/>+ Version 2.011<br/> <br/>- 5th May 2008<br/>+ 17th May 2008<br/> <br/> Copyright (c) 2005-2008 Paul Marquess. All rights reserved.<br/> This program is free software; you can redistribute it<br/>@@ -326,7 +326,7 @@<br/> If you haven&#39;t installed Compress-Raw-Zlib then search Compress::Raw::Zlib.pm<br/> for a line like this:<br/> <br/>- $VERSION = &quot;2.010&quot; ;<br/>+ $VERSION = &quot;2.011&quot; ;<br/> <br/> c. The version of zlib you have used.<br/> If you have successfully installed Compress-Raw-Zlib, this one-liner<br/><br/>==== //depot/perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm#17 (text) ====<br/>Index: perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm<br/>--- perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm#16~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -13,7 +13,7 @@<br/> use bytes ;<br/> our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $XS_VERSION = $VERSION; <br/> $VERSION = eval $VERSION;<br/> <br/><br/>==== //depot/perl/ext/Compress/Zlib/Changes#24 (text) ====<br/>Index: perl/ext/Compress/Zlib/Changes<br/>--- perl/ext/Compress/Zlib/Changes#23~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Zlib/Changes 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,6 +1,10 @@<br/> CHANGES<br/> -------<br/> <br/>+ 2.011 17 May 2008<br/>+<br/>+ * No Changes<br/>+<br/> 2.010 5 May 2008<br/> <br/> * Fixed problem that meant Perl 5.10 could not upgrade this module.<br/><br/>==== //depot/perl/ext/Compress/Zlib/Makefile.PL#27 (xtext) ====<br/>Index: perl/ext/Compress/Zlib/Makefile.PL<br/>--- perl/ext/Compress/Zlib/Makefile.PL#26~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Zlib/Makefile.PL 2008-05-17 20:25:54.000000000 -0700<br/>@@ -3,7 +3,7 @@<br/> use strict ;<br/> require 5.004 ;<br/> <br/>-$::VERSION = &#39;2.010&#39; ;<br/>+$::VERSION = &#39;2.011&#39; ;<br/> <br/> use private::MakeUtil;<br/> use ExtUtils::MakeMaker 5.16 ;<br/><br/>==== //depot/perl/ext/Compress/Zlib/README#25 (text) ====<br/>Index: perl/ext/Compress/Zlib/README<br/>--- perl/ext/Compress/Zlib/README#24~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Zlib/README 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,9 +1,9 @@<br/> <br/> Compress-Zlib<br/> <br/>- Version 2.010<br/>+ Version 2.011<br/> <br/>- 5th May 2008<br/>+ 17th May 2008<br/> <br/> Copyright (c) 1995-2008 Paul Marquess. All rights reserved.<br/> This program is free software; you can redistribute it<br/>@@ -106,7 +106,7 @@<br/> If you haven&#39;t installed Compress-Zlib then search Compress::Zlib.pm<br/> for a line like this:<br/> <br/>- $VERSION = &quot;2.010&quot; ;<br/>+ $VERSION = &quot;2.011&quot; ;<br/> <br/> 2. If you are having problems building Compress-Zlib, send me a<br/> complete log of what happened. Start by unpacking the Compress-Zlib<br/><br/>==== //depot/perl/ext/Compress/Zlib/lib/Compress/Zlib.pm#18 (text) ====<br/>Index: perl/ext/Compress/Zlib/lib/Compress/Zlib.pm<br/>--- perl/ext/Compress/Zlib/lib/Compress/Zlib.pm#17~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/Compress/Zlib/lib/Compress/Zlib.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -8,17 +8,17 @@<br/> use IO::Handle ;<br/> use Scalar::Util qw(dualvar);<br/> <br/>-use IO::Compress::Base::Common 2.010 ;<br/>-use Compress::Raw::Zlib 2.010 ;<br/>-use IO::Compress::Gzip 2.010 ;<br/>-use IO::Uncompress::Gunzip 2.010 ;<br/>+use IO::Compress::Base::Common 2.011 ;<br/>+use Compress::Raw::Zlib 2.011 ;<br/>+use IO::Compress::Gzip 2.011 ;<br/>+use IO::Uncompress::Gunzip 2.011 ;<br/> <br/> use strict ;<br/> use warnings ;<br/> use bytes ;<br/> our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $XS_VERSION = $VERSION; <br/> $VERSION = eval $VERSION;<br/> <br/>@@ -452,7 +452,7 @@<br/> <br/> package Compress::Zlib ;<br/> <br/>-use IO::Compress::Gzip::Constants 2.010 ;<br/>+use IO::Compress::Gzip::Constants 2.011 ;<br/> <br/> sub memGzip($)<br/> {<br/><br/>==== //depot/perl/ext/IO_Compress_Base/Changes#7 (text) ====<br/>Index: perl/ext/IO_Compress_Base/Changes<br/>--- perl/ext/IO_Compress_Base/Changes#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Base/Changes 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,6 +1,18 @@<br/> CHANGES<br/> -------<br/> <br/>+ 2.011 17 May 2008<br/>+<br/>+ * IO::Compress::Base<br/>+ - Fixed problem that prevented the creation of a zip file that<br/>+ contained more than one compression method.<br/>+<br/>+ * IO::Compress::Base::Common<br/>+ - The private Validator class in this module clashes with another<br/>+ CPAN module. Moved Validator into the IO::Compress::Base::Common<br/>+ namespace.<br/>+ [RT #35954]<br/>+<br/> 2.010 5 May 2008<br/> <br/> * Fixed problem that meant Perl 5.10 could not upgrade this module.<br/><br/>==== //depot/perl/ext/IO_Compress_Base/README#7 (text) ====<br/>Index: perl/ext/IO_Compress_Base/README<br/>--- perl/ext/IO_Compress_Base/README#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Base/README 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,9 +1,9 @@<br/> <br/> IO-Compress-Base<br/> <br/>- Version 2.010<br/>+ Version 2.011<br/> <br/>- 5th May 2008<br/>+ 17th May 2008<br/> <br/> Copyright (c) 2005-2008 Paul Marquess. All rights reserved.<br/> This program is free software; you can redistribute it<br/>@@ -76,7 +76,7 @@<br/> If you haven&#39;t installed IO-Compress-Base then search IO::Compress::Base.pm<br/> for a line like this:<br/> <br/>- $VERSION = &quot;2.010&quot; ;<br/>+ $VERSION = &quot;2.011&quot; ;<br/> <br/> 2. If you are having problems building IO-Compress-Base, send me a<br/> complete log of what happened. Start by unpacking the IO-Compress-Base<br/><br/>==== //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm<br/>--- perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Base/lib/IO/Compress/Base.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -6,7 +6,7 @@<br/> use strict ;<br/> use warnings;<br/> <br/>-use IO::Compress::Base::Common 2.010 ;<br/>+use IO::Compress::Base::Common 2.011 ;<br/> <br/> use IO::File ;<br/> use Scalar::Util qw(blessed readonly);<br/>@@ -20,7 +20,7 @@<br/> our (@ISA, $VERSION);<br/> @ISA = qw(Exporter IO::File);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> #Can&#39;t locate object method &quot;SWASHNEW&quot; via package &quot;utf8&quot; (perhaps you forgot to load &quot;utf8&quot;?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.<br/> <br/>@@ -236,7 +236,7 @@<br/> my $status ;<br/> if (! $merge)<br/> {<br/>- *$obj-&gt;{Compress} = $obj-&gt;mkComp($class, $got)<br/>+ *$obj-&gt;{Compress} = $obj-&gt;mkComp($got)<br/> or return undef;<br/> <br/> *$obj-&gt;{UnCompSize} = new U64 ;<br/>@@ -323,7 +323,7 @@<br/> my $haveOut = @_ ;<br/> my $output = shift ;<br/> <br/>- my $x = new Validator($class, *$obj-&gt;{Error}, $name, $input, $output)<br/>+ my $x = new IO::Compress::Base::Validator($class, *$obj-&gt;{Error}, $name, $input, $output)<br/> or return undef ;<br/> <br/> push @_, $output if $haveOut &amp;&amp; $x-&gt;{Hash};<br/>@@ -699,15 +699,13 @@<br/> $self-&gt;ckParams($got)<br/> or $self-&gt;croakError(&quot;newStream: $self-&gt;{Error}&quot;);<br/> <br/>+ *$self-&gt;{Compress} = $self-&gt;mkComp($got)<br/>+ or return 0;<br/>+<br/> *$self-&gt;{Header} = $self-&gt;mkHeader($got) ;<br/> $self-&gt;output(*$self-&gt;{Header} )<br/> or return 0;<br/> <br/>- my $status = $self-&gt;reset() ;<br/>- return $self-&gt;saveErrorString(0, *$self-&gt;{Compress}{Error}, <br/>- *$self-&gt;{Compress}{ErrorNo})<br/>- if $status == STATUS_ERROR;<br/>-<br/> *$self-&gt;{UnCompSize}-&gt;reset();<br/> *$self-&gt;{CompSize}-&gt;reset();<br/> <br/>@@ -977,3 +975,4 @@<br/> This program is free software; you can redistribute it and/or<br/> modify it under the same terms as Perl itself.<br/> <br/>+<br/><br/>==== //depot/perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm<br/>--- perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -11,7 +11,7 @@<br/> require Exporter;<br/> our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);<br/> @ISA = qw(Exporter);<br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> @EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput <br/> isaFileGlobString cleanFileGlobString oneTarget<br/>@@ -192,7 +192,7 @@<br/> return $_[0] =~ /^(code|handle|buffer|filename)$/;<br/> }<br/> <br/>-sub Validator::new<br/>+sub IO::Compress::Base::Validator::new<br/> {<br/> my $class = shift ;<br/> <br/>@@ -320,7 +320,7 @@<br/> return $obj ;<br/> }<br/> <br/>-sub Validator::saveErrorString<br/>+sub IO::Compress::Base::Validator::saveErrorString<br/> {<br/> my $self = shift ;<br/> ${ $self-&gt;{Error} } = shift ;<br/>@@ -328,7 +328,7 @@<br/> <br/> }<br/> <br/>-sub Validator::croakError<br/>+sub IO::Compress::Base::Validator::croakError<br/> {<br/> my $self = shift ;<br/> $self-&gt;saveErrorString($_[0]);<br/>@@ -337,7 +337,7 @@<br/> <br/> <br/> <br/>-sub Validator::validateInputFilenames<br/>+sub IO::Compress::Base::Validator::validateInputFilenames<br/> {<br/> my $self = shift ;<br/> <br/>@@ -367,7 +367,7 @@<br/> return 1 ;<br/> }<br/> <br/>-sub Validator::validateInputArray<br/>+sub IO::Compress::Base::Validator::validateInputArray<br/> {<br/> my $self = shift ;<br/> <br/>@@ -398,7 +398,7 @@<br/> return 1 ;<br/> }<br/> <br/>-#sub Validator::validateHash<br/>+#sub IO::Compress::Base::Validator::validateHash<br/> #{<br/> # my $self = shift ;<br/> # my $href = shift ;<br/><br/>==== //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm<br/>--- perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -4,16 +4,16 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(createSelfTiedObject);<br/>+use IO::Compress::Base::Common 2.011 qw(createSelfTiedObject);<br/> <br/>-use IO::Uncompress::Base 2.010 ;<br/>+use IO::Uncompress::Base 2.011 ;<br/> <br/> <br/> require Exporter ;<br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $AnyUncompressError = &#39;&#39;;<br/> <br/> @ISA = qw( Exporter IO::Uncompress::Base );<br/>@@ -27,18 +27,18 @@<br/> <br/> BEGIN<br/> {<br/>- eval &#39; use IO::Uncompress::Adapter::Inflate 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::Adapter::Bunzip2 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::Adapter::LZO 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::Adapter::Lzf 2.010 ;&#39;;<br/>-<br/>- eval &#39; use IO::Uncompress::Bunzip2 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::UnLzop 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::Gunzip 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::Inflate 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::RawInflate 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::Unzip 2.010 ;&#39;;<br/>- eval &#39; use IO::Uncompress::UnLzf 2.010 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Adapter::Inflate 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Adapter::Bunzip2 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Adapter::LZO 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Adapter::Lzf 2.011 ;&#39;;<br/>+<br/>+ eval &#39; use IO::Uncompress::Bunzip2 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::UnLzop 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Gunzip 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Inflate 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::RawInflate 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::Unzip 2.011 ;&#39;;<br/>+ eval &#39; use IO::Uncompress::UnLzf 2.011 ;&#39;;<br/> }<br/> <br/> sub new<br/>@@ -56,7 +56,7 @@<br/> <br/> sub getExtraParams<br/> {<br/>- use IO::Compress::Base::Common 2.010 qw(:Parse);<br/>+ use IO::Compress::Base::Common 2.011 qw(:Parse);<br/> return ( &#39;RawInflate&#39; =&gt; [1, 1, Parse_boolean, 0] ) ;<br/> }<br/> <br/>@@ -75,7 +75,6 @@<br/> sub mkUncomp<br/> {<br/> my $self = shift ;<br/>- my $class = shift ;<br/> my $got = shift ;<br/> <br/> my $magic ;<br/><br/>==== //depot/perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm<br/>--- perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -9,12 +9,12 @@<br/> @ISA = qw(Exporter IO::File);<br/> <br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> use constant G_EOF =&gt; 0 ;<br/> use constant G_ERR =&gt; -1 ;<br/> <br/>-use IO::Compress::Base::Common 2.010 ;<br/>+use IO::Compress::Base::Common 2.011 ;<br/> #use Parse::Parameters ;<br/> <br/> use IO::File ;<br/>@@ -468,7 +468,7 @@<br/> return $obj<br/> }<br/> <br/>- my $status = $obj-&gt;mkUncomp($class, $got);<br/>+ my $status = $obj-&gt;mkUncomp($got);<br/> <br/> return undef<br/> unless defined $status;<br/>@@ -533,7 +533,7 @@<br/> my $output = shift ;<br/> <br/> <br/>- my $x = new Validator($class, *$obj-&gt;{Error}, $name, $input, $output)<br/>+ my $x = new IO::Compress::Base::Validator($class, *$obj-&gt;{Error}, $name, $input, $output)<br/> or return undef ;<br/> <br/> push @_, $output if $haveOut &amp;&amp; $x-&gt;{Hash};<br/>@@ -1451,3 +1451,4 @@<br/> This program is free software; you can redistribute it and/or<br/> modify it under the same terms as Perl itself.<br/> <br/>+<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/Changes#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/Changes<br/>--- perl/ext/IO_Compress_Zlib/Changes#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/Changes 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,6 +1,16 @@<br/> CHANGES<br/> -------<br/> <br/>+ 2.011 17 May 2008<br/>+<br/>+ * IO::Uncompress::Unzip <br/>+ - Print an error message if the zip file contains a<br/>+ member compressed with bzip2 and IO::Uncompress::Bunzip2 is <br/>+ not available.<br/>+ - Could not cope with mixed compression zip files. For example a<br/>+ zip file that contains both STORED and DEFLATED content.<br/>+ [RT #35573]<br/>+<br/> 2.010 5 May 2008<br/> <br/> * Fixed problem that meant Perl 5.10 could not upgrade this module.<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/Makefile.PL#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/Makefile.PL<br/>--- perl/ext/IO_Compress_Zlib/Makefile.PL#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/Makefile.PL 2008-05-17 20:25:54.000000000 -0700<br/>@@ -3,7 +3,7 @@<br/> use strict ;<br/> require 5.004 ;<br/> <br/>-$::VERSION = &#39;2.010&#39; ;<br/>+$::VERSION = &#39;2.011&#39; ;<br/> <br/> use private::MakeUtil;<br/> use ExtUtils::MakeMaker 5.16 ;<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/README#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/README<br/>--- perl/ext/IO_Compress_Zlib/README#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/README 2008-05-17 20:25:54.000000000 -0700<br/>@@ -1,9 +1,9 @@<br/> <br/> IO-Compress-Zlib<br/> <br/>- Version 2.010<br/>+ Version 2.011<br/> <br/>- 5th May 2008<br/>+ 17th May 2008<br/> <br/> Copyright (c) 2005-2008 Paul Marquess. All rights reserved.<br/> This program is free software; you can redistribute it<br/>@@ -93,7 +93,7 @@<br/> If you haven&#39;t installed IO-Compress-Zlib then search IO::Compress::Gzip.pm<br/> for a line like this:<br/> <br/>- $VERSION = &quot;2.010&quot; ;<br/>+ $VERSION = &quot;2.011&quot; ;<br/> <br/> 2. If you are having problems building IO-Compress-Zlib, send me a<br/> complete log of what happened. Start by unpacking the IO-Compress-Zlib<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -4,12 +4,12 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(:Status);<br/>+use IO::Compress::Base::Common 2.011 qw(:Status);<br/> <br/>-use Compress::Raw::Zlib 2.010 qw(Z_OK Z_FINISH MAX_WBITS) ;<br/>+use Compress::Raw::Zlib 2.011 qw(Z_OK Z_FINISH MAX_WBITS) ;<br/> our ($VERSION);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> sub mkCompObject<br/> {<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -4,10 +4,10 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(:Status);<br/>+use IO::Compress::Base::Common 2.011 qw(:Status);<br/> our ($VERSION);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> sub mkCompObject<br/> {<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -6,16 +6,16 @@<br/> <br/> require Exporter ;<br/> <br/>-use IO::Compress::RawDeflate 2.010 ;<br/>+use IO::Compress::RawDeflate 2.011 ;<br/> <br/>-use Compress::Raw::Zlib 2.010 ;<br/>-use IO::Compress::Zlib::Constants 2.010 ;<br/>-use IO::Compress::Base::Common 2.010 qw(createSelfTiedObject);<br/>+use Compress::Raw::Zlib 2.011 ;<br/>+use IO::Compress::Zlib::Constants 2.011 ;<br/>+use IO::Compress::Base::Common 2.011 qw(createSelfTiedObject);<br/> <br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $DeflateError = &#39;&#39;;<br/> <br/> @ISA = qw(Exporter IO::Compress::RawDeflate);<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -8,12 +8,12 @@<br/> use bytes;<br/> <br/> <br/>-use IO::Compress::RawDeflate 2.010 ;<br/>+use IO::Compress::RawDeflate 2.011 ;<br/> <br/>-use Compress::Raw::Zlib 2.010 ;<br/>-use IO::Compress::Base::Common 2.010 qw(:Status :Parse createSelfTiedObject);<br/>-use IO::Compress::Gzip::Constants 2.010 ;<br/>-use IO::Compress::Zlib::Extra 2.010 ;<br/>+use Compress::Raw::Zlib 2.011 ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status :Parse createSelfTiedObject);<br/>+use IO::Compress::Gzip::Constants 2.011 ;<br/>+use IO::Compress::Zlib::Extra 2.011 ;<br/> <br/> BEGIN<br/> {<br/>@@ -27,7 +27,7 @@<br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $GzipError = &#39;&#39; ;<br/> <br/> @ISA = qw(Exporter IO::Compress::RawDeflate);<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm#8 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm#7~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -9,7 +9,7 @@<br/> our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);<br/> our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> @ISA = qw(Exporter);<br/> <br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -7,16 +7,16 @@<br/> use bytes;<br/> <br/> <br/>-use IO::Compress::Base 2.010 ;<br/>-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);<br/>-use IO::Compress::Adapter::Deflate 2.010 ;<br/>+use IO::Compress::Base 2.011 ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);<br/>+use IO::Compress::Adapter::Deflate 2.011 ;<br/> <br/> require Exporter ;<br/> <br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $RawDeflateError = &#39;&#39;;<br/> <br/> @ISA = qw(Exporter IO::Compress::Base);<br/>@@ -92,7 +92,6 @@<br/> sub mkComp<br/> {<br/> my $self = shift ;<br/>- my $class = shift ;<br/> my $got = shift ;<br/> <br/> my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(<br/>@@ -143,8 +142,8 @@<br/> {<br/> my $self = shift ;<br/> <br/>- use IO::Compress::Base::Common 2.010 qw(:Parse);<br/>- use Compress::Raw::Zlib 2.010 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);<br/>+ use IO::Compress::Base::Common 2.011 qw(:Parse);<br/>+ use Compress::Raw::Zlib 2.011 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);<br/> <br/> <br/> return (<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -4,21 +4,21 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);<br/>-use IO::Compress::RawDeflate 2.010 ;<br/>-use IO::Compress::Adapter::Deflate 2.010 ;<br/>-use IO::Compress::Adapter::Identity 2.010 ;<br/>-use IO::Compress::Zlib::Extra 2.010 ;<br/>-use IO::Compress::Zip::Constants 2.010 ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);<br/>+use IO::Compress::RawDeflate 2.011 ;<br/>+use IO::Compress::Adapter::Deflate 2.011 ;<br/>+use IO::Compress::Adapter::Identity 2.011 ;<br/>+use IO::Compress::Zlib::Extra 2.011 ;<br/>+use IO::Compress::Zip::Constants 2.011 ;<br/> <br/> <br/>-use Compress::Raw::Zlib 2.010 qw(crc32) ;<br/>+use Compress::Raw::Zlib 2.011 qw(crc32) ;<br/> BEGIN<br/> {<br/> eval { require IO::Compress::Adapter::Bzip2 ; <br/>- import IO::Compress::Adapter::Bzip2 2.010 ; <br/>+ import IO::Compress::Adapter::Bzip2 2.011 ; <br/> require IO::Compress::Bzip2 ; <br/>- import IO::Compress::Bzip2 2.010 ; <br/>+ import IO::Compress::Bzip2 2.011 ; <br/> } ;<br/> }<br/> <br/>@@ -27,7 +27,7 @@<br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $ZipError = &#39;&#39;;<br/> <br/> @ISA = qw(Exporter IO::Compress::RawDeflate);<br/>@@ -57,7 +57,6 @@<br/> sub mkComp<br/> {<br/> my $self = shift ;<br/>- my $class = shift ;<br/> my $got = shift ;<br/> <br/> my ($obj, $errstr, $errno) ;<br/>@@ -453,8 +452,8 @@<br/> {<br/> my $self = shift ;<br/> <br/>- use IO::Compress::Base::Common 2.010 qw(:Parse);<br/>- use Compress::Raw::Zlib 2.010 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);<br/>+ use IO::Compress::Base::Common 2.011 qw(:Parse);<br/>+ use Compress::Raw::Zlib 2.011 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);<br/> <br/> my @Bzip2 = ();<br/> <br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -7,7 +7,7 @@<br/> <br/> our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> @ISA = qw(Exporter);<br/> <br/>@@ -33,6 +33,7 @@<br/> ZIP_GP_FLAG_PATCHED_MASK<br/> ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK<br/> ZIP_GP_FLAG_LZMA_EOS_PRESENT<br/>+ ZIP_GP_FLAG_LANGUAGE_ENCODING<br/> <br/> ZIP_EXTRA_ID_ZIP64<br/> ZIP_EXTRA_ID_EXT_TIMESTAMP<br/>@@ -83,6 +84,7 @@<br/> use constant ZIP_EXTRA_ID_ZIP64 =&gt; pack &quot;v&quot;, 1;<br/> use constant ZIP_EXTRA_ID_EXT_TIMESTAMP =&gt; &quot;UT&quot;;<br/> use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2 =&gt; &quot;Ux&quot;;<br/>+use constant ZIP_EXTRA_ID_JAVA_EXE =&gt; pack &quot;v&quot;, 0xCAFE;<br/> <br/> use constant ZIP64_MIN_VERSION =&gt; 45;<br/> <br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -9,7 +9,7 @@<br/> <br/> our ($VERSION, @ISA, @EXPORT);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> @ISA = qw(Exporter);<br/> <br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -8,9 +8,9 @@<br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/>-use IO::Compress::Gzip::Constants 2.010 ;<br/>+use IO::Compress::Gzip::Constants 2.011 ;<br/> <br/> sub ExtraFieldError<br/> {<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -4,13 +4,13 @@<br/> use strict;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(:Status);<br/>+use IO::Compress::Base::Common 2.011 qw(:Status);<br/> <br/> our ($VERSION);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/>-use Compress::Raw::Zlib 2.010 ();<br/>+use Compress::Raw::Zlib 2.011 ();<br/> <br/> sub mkUncompObject<br/> {<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -4,11 +4,11 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(:Status);<br/>-use Compress::Raw::Zlib 2.010 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);<br/>+use IO::Compress::Base::Common 2.011 qw(:Status);<br/>+use Compress::Raw::Zlib 2.011 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);<br/> <br/> our ($VERSION);<br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> <br/> <br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -6,22 +6,22 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(createSelfTiedObject);<br/>+use IO::Compress::Base::Common 2.011 qw(createSelfTiedObject);<br/> <br/>-use IO::Uncompress::Adapter::Inflate 2.010 ();<br/>+use IO::Uncompress::Adapter::Inflate 2.011 ();<br/> <br/> <br/>-use IO::Uncompress::Base 2.010 ;<br/>-use IO::Uncompress::Gunzip 2.010 ;<br/>-use IO::Uncompress::Inflate 2.010 ;<br/>-use IO::Uncompress::RawInflate 2.010 ;<br/>-use IO::Uncompress::Unzip 2.010 ;<br/>+use IO::Uncompress::Base 2.011 ;<br/>+use IO::Uncompress::Gunzip 2.011 ;<br/>+use IO::Uncompress::Inflate 2.011 ;<br/>+use IO::Uncompress::RawInflate 2.011 ;<br/>+use IO::Uncompress::Unzip 2.011 ;<br/> <br/> require Exporter ;<br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $AnyInflateError = &#39;&#39;;<br/> <br/> @ISA = qw( Exporter IO::Uncompress::Base );<br/>@@ -48,7 +48,7 @@<br/> <br/> sub getExtraParams<br/> {<br/>- use IO::Compress::Base::Common 2.010 qw(:Parse);<br/>+ use IO::Compress::Base::Common 2.011 qw(:Parse);<br/> return ( &#39;RawInflate&#39; =&gt; [1, 1, Parse_boolean, 0] ) ;<br/> }<br/> <br/>@@ -67,7 +67,6 @@<br/> sub mkUncomp<br/> {<br/> my $self = shift ;<br/>- my $class = shift ;<br/> my $got = shift ;<br/> <br/> my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject();<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -9,12 +9,12 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Uncompress::RawInflate 2.010 ;<br/>+use IO::Uncompress::RawInflate 2.011 ;<br/> <br/>-use Compress::Raw::Zlib 2.010 qw( crc32 ) ;<br/>-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);<br/>-use IO::Compress::Gzip::Constants 2.010 ;<br/>-use IO::Compress::Zlib::Extra 2.010 ;<br/>+use Compress::Raw::Zlib 2.011 qw( crc32 ) ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);<br/>+use IO::Compress::Gzip::Constants 2.011 ;<br/>+use IO::Compress::Zlib::Extra 2.011 ;<br/> <br/> require Exporter ;<br/> <br/>@@ -28,7 +28,7 @@<br/> <br/> $GunzipError = &#39;&#39;;<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> <br/> sub new<br/> {<br/>@@ -47,7 +47,7 @@<br/> <br/> sub getExtraParams<br/> {<br/>- use IO::Compress::Base::Common 2.010 qw(:Parse);<br/>+ use IO::Compress::Base::Common 2.011 qw(:Parse);<br/> return ( &#39;ParseExtra&#39; =&gt; [1, 1, Parse_boolean, 0] ) ;<br/> }<br/> <br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -5,15 +5,15 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);<br/>-use IO::Compress::Zlib::Constants 2.010 ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);<br/>+use IO::Compress::Zlib::Constants 2.011 ;<br/> <br/>-use IO::Uncompress::RawInflate 2.010 ;<br/>+use IO::Uncompress::RawInflate 2.011 ;<br/> <br/> require Exporter ;<br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $InflateError = &#39;&#39;;<br/> <br/> @ISA = qw( Exporter IO::Uncompress::RawInflate );<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -5,11 +5,11 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use Compress::Raw::Zlib 2.010 ;<br/>-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);<br/>+use Compress::Raw::Zlib 2.011 ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);<br/> <br/>-use IO::Uncompress::Base 2.010 ;<br/>-use IO::Uncompress::Adapter::Inflate 2.010 ;<br/>+use IO::Uncompress::Base 2.011 ;<br/>+use IO::Uncompress::Adapter::Inflate 2.011 ;<br/> <br/> <br/> <br/>@@ -17,7 +17,7 @@<br/> require Exporter ;<br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $RawInflateError = &#39;&#39;;<br/> <br/> @ISA = qw( Exporter IO::Uncompress::Base );<br/>@@ -58,7 +58,6 @@<br/> sub mkUncomp<br/> {<br/> my $self = shift ;<br/>- my $class = shift ;<br/> my $got = shift ;<br/> <br/> my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject(<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm#7 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm<br/>--- perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm#6~33816~ 2008-05-10 13:04:34.000000000 -0700<br/>+++ perl/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm 2008-05-17 20:25:54.000000000 -0700<br/>@@ -8,13 +8,14 @@<br/> use warnings;<br/> use bytes;<br/> <br/>-use IO::Uncompress::RawInflate 2.010 ;<br/>-use IO::Compress::Base::Common 2.010 qw(:Status createSelfTiedObject);<br/>-use IO::Uncompress::Adapter::Identity 2.010 ;<br/>-use IO::Compress::Zlib::Extra 2.010 ;<br/>-use IO::Compress::Zip::Constants 2.010 ;<br/>+use IO::Uncompress::RawInflate 2.011 ;<br/>+use IO::Compress::Base::Common 2.011 qw(:Status createSelfTiedObject);<br/>+use IO::Uncompress::Adapter::Inflate 2.011 ;<br/>+use IO::Uncompress::Adapter::Identity 2.011 ;<br/>+use IO::Compress::Zlib::Extra 2.011 ;<br/>+use IO::Compress::Zip::Constants 2.011 ;<br/> <br/>-use Compress::Raw::Zlib 2.010 qw(crc32) ;<br/>+use Compress::Raw::Zlib 2.011 qw(crc32) ;<br/> <br/> BEGIN<br/> {<br/>@@ -27,7 +28,7 @@<br/> <br/> our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);<br/> <br/>-$VERSION = &#39;2.010&#39;;<br/>+$VERSION = &#39;2.011&#39;;<br/> $UnzipError = &#39;&#39;;<br/> <br/> @ISA = qw(Exporter IO::Uncompress::RawInflate);<br/>@@ -60,7 +61,7 @@<br/> <br/> sub getExtraParams<br/> {<br/>- use IO::Compress::Base::Common 2.010 qw(:Parse);<br/>+ use IO::Compress::Base::Common 2.011 qw(:Parse);<br/> <br/> <br/> return (<br/>@@ -84,6 +85,20 @@<br/> return 1;<br/> }<br/> <br/>+sub mkUncomp<br/>+{<br/>+ my $self = shift ;<br/>+ my $got = shift ;<br/>+<br/>+ my $magic = $self-&gt;ckMagic()<br/>+ or return 0;<br/>+<br/>+ *$self-&gt;{Info} = $self-&gt;readHeader($magic)<br/>+ or return undef ;<br/>+<br/>+ return 1;<br/>+<br/>+}<br/> <br/> sub ckMagic<br/> {<br/>@@ -585,19 +600,22 @@<br/> if ($compressedMethod == ZIP_CM_DEFLATE)<br/> {<br/> *$self-&gt;{Type} = &#39;zip-deflate&#39;;<br/>+ my $obj = IO::Uncompress::Adapter::Inflate::mkUncompObject(1,0,0);<br/>+<br/>+ *$self-&gt;{Uncomp} = $obj;<br/>+ *$self-&gt;{ZipData}{CRC32} = crc32(undef);<br/> }<br/> elsif ($compressedMethod == ZIP_CM_BZIP2)<br/> {<br/>- #if (! defined $IO::Uncompress::Adapter::Bunzip2::VERSION)<br/>+ return $self-&gt;HeaderError(&quot;Unsupported Compression format $compressedMethod&quot;)<br/>+ if ! defined $IO::Uncompress::Adapter::Bunzip2::VERSION ;<br/> <br/> *$self-&gt;{Type} = &#39;zip-bzip2&#39;;<br/> <br/>- my $obj = IO::Uncompress::Adapter::Bunzip2::mkUncompObject(<br/>- );<br/>+ my $obj = IO::Uncompress::Adapter::Bunzip2::mkUncompObject();<br/> <br/> *$self-&gt;{Uncomp} = $obj;<br/> *$self-&gt;{ZipData}{CRC32} = crc32(undef);<br/>-<br/> }<br/> elsif ($compressedMethod == ZIP_CM_STORE)<br/> {<br/>@@ -605,12 +623,9 @@<br/> <br/> *$self-&gt;{Type} = &#39;zip-stored&#39;;<br/> <br/>- my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject(# $got-&gt;value(&#39;CRC32&#39;),<br/>- # $got-&gt;value(&#39;ADLER32&#39;),<br/>- );<br/>+ my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject();<br/> <br/> *$self-&gt;{Uncomp} = $obj;<br/>-<br/> }<br/> else<br/> {<br/>@@ -1402,9 +1417,11 @@<br/> <br/> my $zipfile = &quot;somefile.zip&quot;;<br/> my $u = new IO::Uncompress::Unzip $zipfile<br/>- or die &quot;Cannot open $filefile: $UnzipError&quot;;<br/>+ or die &quot;Cannot open $zipfile: $UnzipError&quot;;<br/> <br/>- for (my $status = 1; ! $u-&gt;eof(); $status = $u-&gt;nextStream())<br/>+ my $status;<br/>+ for ($status = 1; ! $u-&gt;eof(); $status = $u-&gt;nextStream())<br/>+ {<br/> <br/> my $name = $u-&gt;getHeaderInfo()-&gt;{Name};<br/> warn &quot;Processing member $name\n&quot; ;<br/><br/>==== //depot/perl/ext/IO_Compress_Zlib/t/006zip.t#1 (text) ====<br/>Index: perl/ext/IO_Compress_Zlib/t/006zip.t<br/>--- /dev/null 2008-05-07 15:08:24.549929899 -0700<br/>+++ perl/ext/IO_Compress_Zlib/t/006zip.t 2008-05-17 20:25:54.000000000 -0700<br/>@@ -0,0 +1,251 @@<br/>+BEGIN {<br/>+ if ($ENV{PERL_CORE}) {<br/>+ chdir &#39;t&#39; if -d &#39;t&#39;;<br/>+ @INC = (&quot;../lib&quot;, &quot;lib/compress&quot;);<br/>+ }<br/>+}<br/>+<br/>+use lib qw(t t/compress);<br/>+use strict;<br/>+use warnings;<br/>+use bytes;<br/>+<br/>+use Test::More ;<br/>+use CompTestUtils;<br/>+<br/>+BEGIN {<br/>+ # use Test::NoWarnings, if available<br/>+ my $extra = 0 ;<br/>+ $extra = 1<br/>+ if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 };<br/>+<br/>+ plan tests =&gt; 62 + $extra ;<br/>+<br/>+ use_ok(&#39;IO::Compress::Zip&#39;, qw(:all)) ;<br/>+ use_ok(&#39;IO::Uncompress::Unzip&#39;, qw(unzip $UnzipError)) ;<br/>+<br/>+ eval { <br/>+ require IO::Compress::Bzip2 ; <br/>+ import IO::Compress::Bzip2 2.010 ; <br/>+ require IO::Uncompress::Bunzip2 ; <br/>+ import IO::Uncompress::Bunzip2 2.010 ; <br/>+ } ;<br/>+<br/>+}<br/>+<br/>+<br/>+sub getContent<br/>+{<br/>+ my $filename = shift;<br/>+<br/>+ my $u = new IO::Uncompress::Unzip $filename, Append =&gt; 1<br/>+ or die &quot;Cannot open $filename: $UnzipError&quot;;<br/>+<br/>+ isa_ok $u, &quot;IO::Uncompress::Unzip&quot;;<br/>+<br/>+ my @content;<br/>+ my $status ;<br/>+<br/>+ for ($status = 1; ! $u-&gt;eof(); $status = $u-&gt;nextStream())<br/>+ {<br/>+ <br/>+ my $name = $u-&gt;getHeaderInfo()-&gt;{Name};<br/>+ #warn &quot;Processing member $name\n&quot; ;<br/>+<br/>+ my $buff = &#39;&#39;;<br/>+ 1 while ($status = $u-&gt;read($buff)) &gt; 0;<br/>+<br/>+ push @content, $buff;<br/>+ last unless $status == 0;<br/>+ }<br/>+<br/>+ die &quot;Error processing $filename: $status $!\n&quot;<br/>+ if $status &lt; 0 ; <br/>+<br/>+ return @content;<br/>+}<br/>+<br/>+<br/>+{<br/>+ title &quot;Create a simple zip - All Deflate&quot;;<br/>+<br/>+ my $lex = new LexFile my $file1;<br/>+<br/>+ my @content = (<br/>+ &#39;hello&#39;,<br/>+ &#39;&#39;,<br/>+ &#39;goodbye &#39;,<br/>+ );<br/>+<br/>+ my $zip = new IO::Compress::Zip $file1,<br/>+ Name =&gt; &quot;one&quot;, Method =&gt; ZIP_CM_DEFLATE, Stream =&gt; 0;<br/>+ isa_ok $zip, &quot;IO::Compress::Zip&quot;;<br/>+<br/>+ is $zip-&gt;write($content[0]), length($content[0]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;two&quot;, Method =&gt; ZIP_CM_DEFLATE);<br/>+ is $zip-&gt;write($content[1]), length($content[1]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;three&quot;, Method =&gt; ZIP_CM_DEFLATE);<br/>+ is $zip-&gt;write($content[2]), length($content[2]), &quot;write&quot;; <br/>+ ok $zip-&gt;close(), &quot;closed&quot;; <br/>+<br/>+ my @got = getContent($file1);<br/>+<br/>+ is $got[0], $content[0], &quot;Got 1st entry&quot;;<br/>+ is $got[1], $content[1], &quot;Got 2nd entry&quot;;<br/>+ is $got[2], $content[2], &quot;Got 3nd entry&quot;;<br/>+}<br/>+<br/>+SKIP:<br/>+{<br/>+ title &quot;Create a simple zip - All Bzip2&quot;;<br/>+<br/>+ skip &quot;IO::Compress::Bzip2 not available&quot;, 9<br/>+ unless defined $IO::Compress::Bzip2::VERSION;<br/>+<br/>+ my $lex = new LexFile my $file1;<br/>+<br/>+ my @content = (<br/>+ &#39;hello&#39;,<br/>+ &#39;&#39;,<br/>+ &#39;goodbye &#39;,<br/>+ );<br/>+<br/>+ my $zip = new IO::Compress::Zip $file1,<br/>+ Name =&gt; &quot;one&quot;, Method =&gt; ZIP_CM_BZIP2, Stream =&gt; 0;<br/>+ isa_ok $zip, &quot;IO::Compress::Zip&quot;;<br/>+<br/>+ is $zip-&gt;write($content[0]), length($content[0]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;two&quot;, Method =&gt; ZIP_CM_BZIP2);<br/>+ is $zip-&gt;write($content[1]), length($content[1]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;three&quot;, Method =&gt; ZIP_CM_BZIP2);<br/>+ is $zip-&gt;write($content[2]), length($content[2]), &quot;write&quot;; <br/>+ ok $zip-&gt;close(), &quot;closed&quot;; <br/>+<br/>+ my @got = getContent($file1);<br/>+<br/>+ is $got[0], $content[0], &quot;Got 1st entry&quot;;<br/>+ is $got[1], $content[1], &quot;Got 2nd entry&quot;;<br/>+ is $got[2], $content[2], &quot;Got 3nd entry&quot;;<br/>+}<br/>+<br/>+SKIP:<br/>+{<br/>+ title &quot;Create a simple zip - Deflate + Bzip2&quot;;<br/>+<br/>+ skip &quot;IO::Compress::Bzip2 not available&quot;, 9<br/>+ unless $IO::Compress::Bzip2::VERSION;<br/>+<br/>+ my $lex = new LexFile my $file1;<br/>+<br/>+ my @content = (<br/>+ &#39;hello&#39;,<br/>+ &#39;and&#39;,<br/>+ &#39;goodbye &#39;,<br/>+ );<br/>+<br/>+ my $zip = new IO::Compress::Zip $file1,<br/>+ Name =&gt; &quot;one&quot;, Method =&gt; ZIP_CM_DEFLATE, Stream =&gt; 0;<br/>+ isa_ok $zip, &quot;IO::Compress::Zip&quot;;<br/>+<br/>+ is $zip-&gt;write($content[0]), length($content[0]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;two&quot;, Method =&gt; ZIP_CM_BZIP2);<br/>+ is $zip-&gt;write($content[1]), length($content[1]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;three&quot;, Method =&gt; ZIP_CM_DEFLATE);<br/>+ is $zip-&gt;write($content[2]), length($content[2]), &quot;write&quot;; <br/>+ ok $zip-&gt;close(), &quot;closed&quot;; <br/>+<br/>+ my @got = getContent($file1);<br/>+<br/>+ is $got[0], $content[0], &quot;Got 1st entry&quot;;<br/>+ is $got[1], $content[1], &quot;Got 2nd entry&quot;;<br/>+ is $got[2], $content[2], &quot;Got 3nd entry&quot;;<br/>+}<br/>+<br/>+{<br/>+ title &quot;Create a simple zip - All STORE&quot;;<br/>+<br/>+ my $lex = new LexFile my $file1;<br/>+<br/>+ my @content = (<br/>+ &#39;hello&#39;,<br/>+ &#39;&#39;,<br/>+ &#39;goodbye &#39;,<br/>+ );<br/>+<br/>+ my $zip = new IO::Compress::Zip $file1,<br/>+ Name =&gt; &quot;one&quot;, Method =&gt; ZIP_CM_STORE, Stream =&gt; 0;<br/>+ isa_ok $zip, &quot;IO::Compress::Zip&quot;;<br/>+<br/>+ is $zip-&gt;write($content[0]), length($content[0]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;two&quot;, Method =&gt; ZIP_CM_STORE);<br/>+ is $zip-&gt;write($content[1]), length($content[1]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;three&quot;, Method =&gt; ZIP_CM_STORE);<br/>+ is $zip-&gt;write($content[2]), length($content[2]), &quot;write&quot;; <br/>+ ok $zip-&gt;close(), &quot;closed&quot;; <br/>+<br/>+ my @got = getContent($file1);<br/>+<br/>+ is $got[0], $content[0], &quot;Got 1st entry&quot;;<br/>+ is $got[1], $content[1], &quot;Got 2nd entry&quot;;<br/>+ is $got[2], $content[2], &quot;Got 3nd entry&quot;;<br/>+}<br/>+<br/>+{<br/>+ title &quot;Create a simple zip - Deflate + STORE&quot;;<br/>+<br/>+ #my $lex = new LexFile my $file1;<br/>+ my $file1 = &quot;tryout.zip&quot;;<br/>+<br/>+ my @content = qw(<br/>+ hello <br/>+ and<br/>+ goodbye <br/>+ );<br/>+<br/>+ my $zip = new IO::Compress::Zip $file1,<br/>+ Name =&gt; &quot;one&quot;, Method =&gt; ZIP_CM_DEFLATE, Stream =&gt; 0;<br/>+ isa_ok $zip, &quot;IO::Compress::Zip&quot;;<br/>+<br/>+ is $zip-&gt;write($content[0]), length($content[0]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;two&quot;, Method =&gt; ZIP_CM_STORE);<br/>+ is $zip-&gt;write($content[1]), length($content[1]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;three&quot;, Method =&gt; ZIP_CM_DEFLATE);<br/>+ is $zip-&gt;write($content[2]), length($content[2]), &quot;write&quot;; <br/>+ ok $zip-&gt;close(), &quot;closed&quot;; <br/>+<br/>+ my @got = getContent($file1);<br/>+<br/>+ is $got[0], $content[0], &quot;Got 1st entry&quot;;<br/>+ is $got[1], $content[1], &quot;Got 2nd entry&quot;;<br/>+ is $got[2], $content[2], &quot;Got 3nd entry&quot;;<br/>+}<br/>+<br/>+{<br/>+ title &quot;Create a simple zip - Deflate + zero length STORE&quot;;<br/>+<br/>+ my $lex = new LexFile my $file1;<br/>+<br/>+ my @content = (<br/>+ &#39;hello &#39;,<br/>+ &#39;&#39;,<br/>+ &#39;goodbye &#39;,<br/>+ );<br/>+<br/>+ my $zip = new IO::Compress::Zip $file1,<br/>+ Name =&gt; &quot;one&quot;, Method =&gt; ZIP_CM_DEFLATE, Stream =&gt; 0;<br/>+ isa_ok $zip, &quot;IO::Compress::Zip&quot;;<br/>+<br/>+ is $zip-&gt;write($content[0]), length($content[0]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;two&quot;, Method =&gt; ZIP_CM_STORE);<br/>+ is $zip-&gt;write($content[1]), length($content[1]), &quot;write&quot;; <br/>+ $zip-&gt;newStream(Name=&gt; &quot;three&quot;, Method =&gt; ZIP_CM_DEFLATE);<br/>+ is $zip-&gt;write($content[2]), length($content[2]), &quot;write&quot;; <br/>+ ok $zip-&gt;close(), &quot;closed&quot;; <br/>+<br/>+ my @got = getContent($file1);<br/>+<br/>+ is $got[0], $content[0], &quot;Got 1st entry&quot;;<br/>+ ok $got[1] eq $content[1], &quot;Got 2nd entry&quot;;<br/>+ is $got[2], $content[2], &quot;Got 3nd entry&quot;;<br/>+}<br/>+<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21682.html Sat, 17 May 2008 20:30:29 +0000 Change 33845: [PATCH] Re: [perl #50180] NDBM_File fails to build by H . Merijn Brand Change 33845 by merijn@merijn-nb09 on 2008/05/17 14:29:24<br/><br/> Subject: [PATCH] Re: [perl #50180] NDBM_File fails to build <br/> From: Andy Dougherty &lt;doughera@lafayette.edu&gt;<br/> Date: Tue, 13 May 2008 12:28:45 -0400 (EDT)<br/> Message-ID: &lt;Pine.LNX.4.64.0805131224130.9728@fractal.phys.lafayette.edu&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/Configure#691 edit<br/>... //depot/perl/Porting/Glossary#190 edit<br/>... //depot/perl/config_h.SH#345 edit<br/>... //depot/perl/ext/NDBM_File/NDBM_File.xs#17 edit<br/>... //depot/perl/hints/linux.sh#66 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/Configure#691 (xtext) ====<br/>Index: perl/Configure<br/>--- perl/Configure#690~33843~ 2008-05-17 06:56:26.000000000 -0700<br/>+++ perl/Configure 2008-05-17 07:29:24.000000000 -0700<br/>@@ -25,7 +25,7 @@<br/> <br/> # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $<br/> #<br/>-# Generated on Sat May 17 15:55:21 CEST 2008 [metaconfig 3.5 PL0]<br/>+# Generated on Sat May 17 16:03:30 CEST 2008 [metaconfig 3.5 PL0]<br/> # (with additional metaconfig patches by perlbug@perl.org)<br/> <br/> cat &gt;c1$$ &lt;&lt;EOF<br/>@@ -873,6 +873,9 @@<br/> i_math=&#39;&#39;<br/> i_memory=&#39;&#39;<br/> i_mntent=&#39;&#39;<br/>+d_ndbm=&#39;&#39;<br/>+i_gdbm_ndbm=&#39;&#39;<br/>+i_gdbmndbm=&#39;&#39;<br/> i_ndbm=&#39;&#39;<br/> i_netdb=&#39;&#39;<br/> i_neterrno=&#39;&#39;<br/>@@ -20818,37 +20821,32 @@<br/> eval $inhdr<br/> <br/> : see if ndbm.h is available<br/>-set ndbm.h t_ndbm<br/>+set ndbm.h i_ndbm<br/>+eval $inhdr<br/>+: Compatibility location for RedHat 7.1<br/>+set gdbm/ndbm.h i_gdbmndbm<br/>+eval $inhdr<br/>+: Compatibility location for Debian 4.0<br/>+set gdbm-ndbm.h i_gdbm_ndbm<br/> eval $inhdr<br/> <br/>-case &quot;$t_ndbm&quot; in<br/>-$undef)<br/>- # Some Linux distributions such as RedHat 7.1 put the<br/>- # ndbm.h header in /usr/include/gdbm/ndbm.h.<br/>- if $test -f /usr/include/gdbm/ndbm.h; then<br/>- echo &#39;&lt;gdbm/ndbm.h&gt; found.&#39;<br/>- ccflags=&quot;$ccflags -I/usr/include/gdbm&quot;<br/>- cppflags=&quot;$cppflags -I/usr/include/gdbm&quot;<br/>- t_ndbm=$define<br/>- fi<br/>- ;;<br/>-esac<br/>-<br/>-case &quot;$t_ndbm&quot; in<br/>-$define)<br/>+if $test &quot;$i_ndbm&quot; = &quot;$define&quot; -o &quot;$i_gdbmndbm&quot; = &quot;$define&quot; -o &quot;$i_gdbm_ndbm&quot; = &quot;$define&quot;; then<br/> : see if dbm_open exists<br/> set dbm_open d_dbm_open<br/> eval $inlibc<br/> case &quot;$d_dbm_open&quot; in<br/> $undef)<br/>- t_ndbm=&quot;$undef&quot;<br/>+ i_ndbm=&quot;$undef&quot;<br/>+ i_gdbmndbm=&quot;$undef&quot;<br/>+ i_gdbm_ndbm=&quot;$undef&quot;<br/> echo &quot;We won&#39;t be including &lt;ndbm.h&gt;&quot;<br/>+ val=&quot;$undef&quot;<br/> ;;<br/>+ *) val=&quot;$define&quot;<br/>+ ;;<br/> esac<br/>- ;;<br/>-esac<br/>-val=&quot;$t_ndbm&quot;<br/>-set i_ndbm<br/>+fi<br/>+set d_ndbm<br/> eval $setvar<br/> <br/> : see if net/errno.h is available<br/>@@ -21674,7 +21672,7 @@<br/> ;;<br/> *) case &quot;$usedl&quot; in<br/> $define|true|[yY]*)<br/>- set X `echo &quot; $libs &quot; | sed -e &#39;s@ -lndbm @ @&#39; -e &#39;s@ -lgdbm @ @&#39; -e &#39;s@ -ldbm @ @&#39; -e &#39;s@ -ldb @ @&#39;` <br/>+ set X `echo &quot; $libs &quot; | sed -e &#39;s@ -lndbm @ @&#39; -e &#39;s@ -lgdbm @ @&#39; -e &#39;s@ -lgdbm_compat @ @&#39; -e &#39;s@ -ldbm @ @&#39; -e &#39;s@ -ldb @ @&#39;` <br/> shift<br/> perllibs=&quot;$*&quot;<br/> ;;<br/>@@ -22074,6 +22072,7 @@<br/> d_msync=&#39;$d_msync&#39;<br/> d_munmap=&#39;$d_munmap&#39;<br/> d_mymalloc=&#39;$d_mymalloc&#39;<br/>+d_ndbm=&#39;$d_ndbm&#39;<br/> d_nice=&#39;$d_nice&#39;<br/> d_nl_langinfo=&#39;$d_nl_langinfo&#39;<br/> d_nv_preserves_uv=&#39;$d_nv_preserves_uv&#39;<br/>@@ -22373,6 +22372,8 @@<br/> i_fp=&#39;$i_fp&#39;<br/> i_fp_class=&#39;$i_fp_class&#39;<br/> i_gdbm=&#39;$i_gdbm&#39;<br/>+i_gdbm_ndbm=&#39;$i_gdbm_ndbm&#39;<br/>+i_gdbmndbm=&#39;$i_gdbmndbm&#39;<br/> i_grp=&#39;$i_grp&#39;<br/> i_ieeefp=&#39;$i_ieeefp&#39;<br/> i_inttypes=&#39;$i_inttypes&#39;<br/><br/>==== //depot/perl/Porting/Glossary#190 (text) ====<br/>Index: perl/Porting/Glossary<br/>--- perl/Porting/Glossary#189~33598~ 2008-03-29 04:21:46.000000000 -0700<br/>+++ perl/Porting/Glossary 2008-05-17 07:29:24.000000000 -0700<br/>@@ -1429,6 +1429,14 @@<br/> of the source want to take special action if MYMALLOC is used.<br/> This may include different sorts of profiling or error detection.<br/> <br/>+d_ndbm (i_ndbm.U):<br/>+ This variable conditionally defines the HAS_NDBM symbol, which<br/>+ indicates that both the ndbm.h include file and an appropriate ndbm<br/>+ library exist. Consult the different i_*ndbm variables<br/>+ to find out the actual include location. Sometimes, a system has the<br/>+ header file but not the library. This variable will only be set if<br/>+ the system has both.<br/>+<br/> d_nice (d_nice.U):<br/> This variable conditionally defines the HAS_NICE symbol, which<br/> indicates to the C program that the nice() routine is available.<br/>@@ -2886,6 +2894,18 @@<br/> indicates to the C program that &lt;gdbm.h&gt; exists and should<br/> be included.<br/> <br/>+i_gdbm_ndbm (i_ndbm.U):<br/>+ This variable conditionally defines the I_GDBM_NDBM symbol, which<br/>+ indicates to the C program that &lt;gdbm-ndbm.h&gt; exists and should<br/>+ be included. This is the location of the ndbm.h compatibility file<br/>+ in Debian 4.0.<br/>+<br/>+i_gdbmndbm (i_ndbm.U):<br/>+ This variable conditionally defines the I_GDBMNDBM symbol, which<br/>+ indicates to the C program that &lt;gdbm/ndbm.h&gt; exists and should<br/>+ be included. This was the location of the ndbm.h compatibility file<br/>+ in RedHat 7.1.<br/>+<br/> i_grp (i_grp.U):<br/> This variable conditionally defines the I_GRP symbol, and indicates<br/> whether a C program should include &lt;grp.h&gt;.<br/><br/>==== //depot/perl/config_h.SH#345 (text) ====<br/>Index: perl/config_h.SH<br/>--- perl/config_h.SH#344~33598~ 2008-03-29 04:21:46.000000000 -0700<br/>+++ perl/config_h.SH 2008-05-17 07:29:24.000000000 -0700<br/>@@ -689,12 +689,6 @@<br/> */<br/> #$i_locale I_LOCALE /**/<br/> <br/>-/* I_MALLOCMALLOC:<br/>- * This symbol, if defined, indicates to the C program that it should<br/>- * include &lt;malloc/malloc.h&gt;.<br/>- */<br/>-#$i_mallocmalloc I_MALLOCMALLOC /**/<br/>-<br/> /* I_MATH:<br/> * This symbol, if defined, indicates to the C program that it should<br/> * include &lt;math.h&gt;.<br/>@@ -4109,6 +4103,12 @@<br/> */<br/> #$i_libutil I_LIBUTIL /**/<br/> <br/>+/* I_MALLOCMALLOC:<br/>+ * This symbol, if defined, indicates to the C program that it should<br/>+ * include &lt;malloc/malloc.h&gt;.<br/>+ */<br/>+#$i_mallocmalloc I_MALLOCMALLOC /**/<br/>+<br/> /* I_MNTENT:<br/> * This symbol, if defined, indicates that &lt;mntent.h&gt; exists and<br/> * should be included.<br/><br/>==== //depot/perl/ext/NDBM_File/NDBM_File.xs#17 (text) ====<br/>Index: perl/ext/NDBM_File/NDBM_File.xs<br/>--- perl/ext/NDBM_File/NDBM_File.xs#16~28996~ 2006-10-11 07:48:45.000000000 -0700<br/>+++ perl/ext/NDBM_File/NDBM_File.xs 2008-05-17 07:29:24.000000000 -0700<br/>@@ -1,7 +1,13 @@<br/> #include &quot;EXTERN.h&quot;<br/> #include &quot;perl.h&quot;<br/> #include &quot;XSUB.h&quot;<br/>+#if defined(I_GDBM_NDBM)<br/>+# include &lt;gdbm-ndbm.h&gt; /* Debian compatibility version */<br/>+#elif defined(I_GDBMNDBM)<br/>+# include &lt;gdbm/ndbm.h&gt; /* RedHat compatibility version */<br/>+#elif defined(I_NDBM)<br/> #include &lt;ndbm.h&gt;<br/>+#endif<br/> <br/> typedef struct {<br/> DBM * dbp ;<br/><br/>==== //depot/perl/hints/linux.sh#66 (text) ====<br/>Index: perl/hints/linux.sh<br/>--- perl/hints/linux.sh#65~31404~ 2007-06-17 07:48:11.000000000 -0700<br/>+++ perl/hints/linux.sh 2008-05-17 07:29:24.000000000 -0700<br/>@@ -54,6 +54,9 @@<br/> shift<br/> libswanted=&quot;$*&quot;<br/> <br/>+# Debian 4.0 puts ndbm in the -lgdbm_compat library.<br/>+libswanted=&quot;$libswanted gdbm_compat&quot;<br/>+<br/> # If you have glibc, then report the version for ./myconfig bug reporting.<br/> # (Configure doesn&#39;t need to know the specific version since it just uses<br/> # gcc to load the library for all tests.)<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21681.html Sat, 17 May 2008 07:30:22 +0000 Change 33843: [perl #54120] [PATCH] [metaconfig] Need more -fstack-protector by H . Merijn Brand Change 33843 by merijn@merijn-nb09 on 2008/05/17 13:56:26<br/><br/> Subject: [perl #54120] [PATCH] [metaconfig] Need more -fstack-protector <br/> From: Andy Dougherty (via RT) &lt;perlbug-followup@perl.org&gt;<br/> Date: Tue, 13 May 2008 09:37:07 -0700<br/> Message-ID: &lt;rt-3.6.HEAD-9992-1210696625-331.54120-75-0@perl.org&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/Configure#690 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/Configure#690 (xtext) ====<br/>Index: perl/Configure<br/>--- perl/Configure#689~33631~ 2008-04-02 11:46:13.000000000 -0700<br/>+++ perl/Configure 2008-05-17 06:56:26.000000000 -0700<br/>@@ -25,7 +25,7 @@<br/> <br/> # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $<br/> #<br/>-# Generated on Wed Apr 2 20:45:31 CEST 2008 [metaconfig 3.5 PL0]<br/>+# Generated on Sat May 17 15:55:21 CEST 2008 [metaconfig 3.5 PL0]<br/> # (with additional metaconfig patches by perlbug@perl.org)<br/> <br/> cat &gt;c1$$ &lt;&lt;EOF<br/>@@ -5119,7 +5119,7 @@<br/> # as that way the compiler can do the right implementation dependant<br/> # thing. (NWC)<br/> case &quot;$gccversion&quot; in<br/>- ?*) set stack-protector -fstack-protector &#39;ldflags=&quot;$ldflags -fstack-protector&quot;&#39;<br/>+ ?*) set stack-protector -fstack-protector<br/> eval $checkccflag<br/> ;;<br/> esac<br/>@@ -5258,6 +5258,10 @@<br/> case &quot;$ccflags&quot; in<br/> *-posix*) dflt=&quot;$dflt -posix&quot; ;;<br/> esac<br/>+ # See note above about -fstack-protector<br/>+ case &quot;$ccflags&quot; in<br/>+ *-fstack-protector*) dflt=&quot;$dflt -fstack-protector&quot; ;;<br/>+ esac<br/> ;;<br/> *) dflt=&quot;$ldflags&quot;;;<br/> esac<br/>@@ -8023,6 +8027,16 @@<br/> &#39;&#39;|&#39; &#39;) dflt=&#39;none&#39; ;;<br/> esac<br/> <br/>+ case &quot;$ldflags&quot; in<br/>+ *-fstack-protector*)<br/>+ case &quot;$dflt&quot; in<br/>+ *-fstack-protector*) ;; # Don&#39;t add it again<br/>+ *) dflt=&quot;$dflt -fstack-protector&quot; ;; <br/>+ esac<br/>+ ;;<br/>+ esac<br/>+<br/>+<br/> rp=&quot;Any special flags to pass to $ld to create a dynamically loaded library?&quot;<br/> . ./myread<br/> case &quot;$ans&quot; in<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21680.html Sat, 17 May 2008 07:00:14 +0000 Change 33841: [PATCH] Re: Compiling perl (5.10.x) with gcc <= 3.2.3 by H . Merijn Brand Change 33841 by merijn@merijn-nb09 on 2008/05/17 13:48:16<br/><br/> Subject: [PATCH] Re: Compiling perl (5.10.x) with gcc &lt;= 3.2.3<br/> From: Andy Dougherty &lt;doughera@lafayette.edu&gt;<br/> Date: Fri, 16 May 2008 13:59:41 -0400 (EDT)<br/> Message-ID: &lt;Pine.LNX.4.64.0805161344570.10409@fractal.phys.lafayette.edu&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/INSTALL#190 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/INSTALL#190 (text) ====<br/>Index: perl/INSTALL<br/>--- perl/INSTALL#189~32646~ 2007-12-19 05:48:45.000000000 -0800<br/>+++ perl/INSTALL 2008-05-17 06:48:16.000000000 -0700<br/>@@ -1886,6 +1886,13 @@<br/> tries to exercise the regular expression subsystem quite thoroughly,<br/> and may well be far more demanding than your normal usage.<br/> <br/>+=item libgcc_s.so.1: cannot open shared object file<br/>+<br/>+This message has been reported on gcc-3.2.3 and earlier installed with<br/>+a non-standard prefix. Setting the LD_LIBRARY_PATH environment variable<br/>+(or equivalent) to include gcc&#39;s lib/ directory with the libgcc_s.so.1<br/>+shared library should fix the problem.<br/>+<br/> =item Failures from lib/File/Temp/t/security saying &quot;system possibly insecure&quot;<br/> <br/> First, such warnings are not necessarily serious or indicative of a<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21679.html Sat, 17 May 2008 07:00:10 +0000 Change 33840: [perl #39187] [DOC-PATCH]: perldoc -f reverse: examples (was: RE: Perlfunc needs to be made more clear regarding reverse in scalar context.) by Yves Orton Change 33840 by demerphq@demerphq-gemini on 2008/05/17 10:01:08<br/><br/> Subject: [perl #39187] [DOC-PATCH]: perldoc -f reverse: examples (was: RE: Perlfunc needs to be made more clear regarding reverse in scalar context.) <br/> From: &quot;Bram via RT&quot; &lt;perlbug-followup@perl.org&gt;<br/> Date: Fri, 16 May 2008 14:44:07 -0700<br/> Message-ID: &lt;rt-3.6.HEAD-9880-1210974244-1717.39187-15-0@perl.org&gt;<br/><br/>Affected files ...<br/><br/>... //depot/perl/pod/perlfunc.pod#600 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/pod/perlfunc.pod#600 (text) ====<br/>Index: perl/pod/perlfunc.pod<br/>--- perl/pod/perlfunc.pod#599~33834~ 2008-05-16 05:17:03.000000000 -0700<br/>+++ perl/pod/perlfunc.pod 2008-05-17 03:01:08.000000000 -0700<br/>@@ -4718,13 +4718,16 @@<br/> elements of LIST and returns a string value with all characters<br/> in the opposite order.<br/> <br/>- print reverse &lt;&gt;; # line tac, last line first<br/>+ print join(&quot;, &quot;, reverse &quot;world&quot;, &quot;Hello&quot;); # Hello, world<br/> <br/>- undef $/; # for efficiency of &lt;&gt;<br/>- print scalar reverse &lt;&gt;; # character tac, last line tsrif<br/>+ print scalar reverse &quot;dlrow ,&quot;, &quot;olleH&quot;; # Hello, world<br/> <br/> Used without arguments in scalar context, reverse() reverses C&lt;$_&gt;.<br/> <br/>+ $_ = &quot;dlrow ,olleH&quot;;<br/>+ print reverse; # No output, list context<br/>+ print scalar reverse; # Hello, world<br/>+<br/> This operator is also handy for inverting a hash, although there are some<br/> caveats. If a value is duplicated in the original hash, only one of those<br/> can be represented as a key in the inverted hash. Also, this has to<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21678.html Sat, 17 May 2008 03:15:10 +0000 Change 33839: Somehow, this got missed in change #33779. by Steve Peters Change 33839 by stevep@stevep-kirk on 2008/05/16 19:58:58<br/><br/> Somehow, this got missed in change #33779.<br/><br/>Affected files ...<br/><br/>... //depot/perl/ext/Digest/SHA/lib/Digest/SHA.pm#2 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/ext/Digest/SHA/lib/Digest/SHA.pm#2 (text) ====<br/>Index: perl/ext/Digest/SHA/lib/Digest/SHA.pm<br/>--- perl/ext/Digest/SHA/lib/Digest/SHA.pm#1~33779~ 2008-05-02 07:26:59.000000000 -0700<br/>+++ perl/ext/Digest/SHA/lib/Digest/SHA.pm 2008-05-16 12:58:58.000000000 -0700<br/>@@ -6,7 +6,7 @@<br/> use integer;<br/> use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);<br/> <br/>-$VERSION = &#39;5.46&#39;;<br/>+$VERSION = &#39;5.47&#39;;<br/> <br/> require Exporter;<br/> require DynaLoader;<br/>@@ -499,9 +499,9 @@<br/> <br/> The &quot;p&quot; mode is handy since it ensures that the digest value of<br/> I&lt;$filename&gt; will be the same when computed on different operating<br/>-systems. It accomplishes this by internally translating all newlines<br/>-in text files to UNIX format before calculating the digest; on the other<br/>-hand, binary files are read in raw mode with no translation whatsoever.<br/>+systems. It accomplishes this by internally translating all newlines in<br/>+text files to UNIX format before calculating the digest. Binary files<br/>+are read in raw mode with no translation whatsoever.<br/> <br/> For a fuller discussion of newline formats, refer to CPAN module<br/> L&lt;File::LocalizeNewlines&gt;. Its &quot;universal line separator&quot; regex forms<br/>@@ -640,6 +640,7 @@<br/> <br/> Gisle Aas<br/> Chris Carey<br/>+ Alexandr Ciornii<br/> Jim Doble<br/> Julius Duque<br/> Jeffrey Friedl<br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21677.html Fri, 16 May 2008 13:00:15 +0000 Change 33838: Upgrade to ExtUtils-Command-1.14 by Steve Peters Change 33838 by stevep@stevep-kirk on 2008/05/16 19:53:42<br/><br/> Upgrade to ExtUtils-Command-1.14<br/><br/>Affected files ...<br/><br/>... //depot/perl/lib/ExtUtils/Command.pm#30 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/lib/ExtUtils/Command.pm#30 (text) ====<br/>Index: perl/lib/ExtUtils/Command.pm<br/>--- perl/lib/ExtUtils/Command.pm#29~30146~ 2007-02-06 13:43:13.000000000 -0800<br/>+++ perl/lib/ExtUtils/Command.pm 2008-05-16 12:53:42.000000000 -0700<br/>@@ -12,7 +12,7 @@<br/> @ISA = qw(Exporter);<br/> @EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod<br/> dos2unix);<br/>-$VERSION = &#39;1.13&#39;;<br/>+$VERSION = &#39;1.14&#39;;<br/> <br/> my $Is_VMS = $^O eq &#39;VMS&#39;;<br/> <br/>End of Patch.<br/> http://www.nntp.perl.org/group/perl.perl5.changes/2008/05/msg21676.html Fri, 16 May 2008 13:00:11 +0000 Change 33837: Upgrade to Math-BigInt-FastCalc-0.19 by Steve Peters Change 33837 by stevep@stevep-kirk on 2008/05/16 18:07:00<br/><br/> Upgrade to Math-BigInt-FastCalc-0.19<br/><br/>Affected files ...<br/><br/>... //depot/perl/ext/Math/BigInt/FastCalc/FastCalc.pm#11 edit<br/>... //depot/perl/ext/Math/BigInt/FastCalc/FastCalc.xs#10 edit<br/>... //depot/perl/ext/Math/BigInt/FastCalc/t/bigintfc.t#4 edit<br/>... //depot/perl/ext/Math/BigInt/FastCalc/t/bootstrap.t#2 edit<br/><br/>Differences ...<br/><br/>==== //depot/perl/ext/Math/BigInt/FastCalc/FastCalc.pm#11 (text) ====<br/>Index: perl/ext/Math/BigInt/FastCalc/FastCalc.pm<br/>--- perl/ext/Math/BigInt/FastCalc/FastCalc.pm#10~31875~ 2007-09-16 03:48:40.000000000 -0700<br/>+++ perl/ext/Math/BigInt/FastCalc/FastCalc.pm 2008-05-16 11:07:00.000000000 -0700<br/>@@ -11,7 +11,7 @@<br/> <br/> @ISA = qw(DynaLoader);<br/> <br/>-$VERSION = &#39;0.16&#39;;<br/>+$VERSION = &#39;0.19&#39;;<br/> <br/> bootstrap Math::BigInt::FastCalc $VERSION;<br/> <br/>@@ -60,6 +60,7 @@<br/> <br/> 1;<br/> __END__<br/>+=pod<br/> <br/> =head1 NAME<br/> <br/><br/>==== //depot/perl/ext/Math/BigInt/FastCalc/FastCalc.xs#10 (text) ====<br/>Index: perl/ext/Math/BigInt/FastCalc/FastCalc.xs<br/>--- perl/ext/Math/BigInt/FastCalc/FastCalc.xs#9~31608~ 2007-07-13 05:13:09.000000000 -0700<br/>+++ perl/ext/Math/BigInt/FastCalc/FastCalc.xs 2008-05-16 11:07:00.000000000 -0700<br/>@@ -2,6 +2,11 @@<br/> #include &quot;perl.h&quot;<br/> #include &quot;XSUB.h&quot;<br/> <br/>+/* for Perl prior to v5.7.1 */<br/>+#ifndef SvUOK<br/>+# define SvUOK(sv) SvIOK_UV(sv)<br/>+#endif<br/>+<br/> double XS_BASE = 0;<br/> double XS_BASE_LEN = 0;<br/> <br/>@@ -61,7 +66,7 @@<br/> /* create the array */<br/> RETVAL = newAV();<br/> sv_2mortal((SV*)RETVAL);<br/>- if (SvIOK(x) &amp;&amp; SvUV(x) &lt; XS_BASE)<br/>+ if (SvUOK(x) &amp;&amp; SvUV(x) &lt; XS_BASE)<br/> {<br/> /* shortcut for integer arguments */<br/> av_push (RETVAL, newSVuv( SvUV(x) ));<br/>@@ -112,7 +117,7 @@<br/> a = (AV*)SvRV(x); /* ref to aray, don&#39;t check ref */<br/> elems = av_len(a); /* number of elems in array */<br/> a2 = (AV*)sv_2mortal((SV*)newAV());<br/>- av_extend (a2, elems); /* prepadd */<br/>+ av_extend (a2, elems); /* pre-padd */<br/> while (elems &gt;= 0)<br/> {<br/> /* av_store( a2, elems, newSVsv( (SV*)*av_fetch(a, elems, 0) ) ); */<br/>@@ -201,7 +206,7 @@<br/> while (index &lt;= elems)<br/> {<br/> temp = *av_fetch(a, index, 0); /* fetch ptr to current element */<br/>- sv_setnv (temp, SvNV(temp)-1);<br/>+ sv_setnv (temp, SvNV(temp)-1); /* decrement */<br/> if (SvNV(temp) &gt;= 0)<br/> {