r27043 - in /branches/upstream/libparse-mediawikidump-perl/current: Changes META.yml Makefile.PL lib/Parse/MediaWikiDump.pm
ansgar-guest at users.alioth.debian.org
ansgar-guest at users.alioth.debian.org
Wed Nov 19 20:22:52 UTC 2008
Author: ansgar-guest
Date: Wed Nov 19 20:22:49 2008
New Revision: 27043
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=27043
Log:
[svn-upgrade] Integrating new upstream version, libparse-mediawikidump-perl (0.55)
Modified:
branches/upstream/libparse-mediawikidump-perl/current/Changes
branches/upstream/libparse-mediawikidump-perl/current/META.yml
branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL
branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm
Modified: branches/upstream/libparse-mediawikidump-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/Changes?rev=27043&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/Changes (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/Changes Wed Nov 19 20:22:49 2008
@@ -1,4 +1,11 @@
Revision history for Parse-MediaWikiDump
+
+0.55 Nov 17, 2008
+ * Missing dependency in module metadata.
+
+0.54 Nov 16. 2008
+ * Revisiting bug #38206 "Parse::MediaWikiDump XML dump file not closed
+ on DESTROY" a newly identified memory leak was fixed.
0.53 Oct 29, 2008
* Fix for bug #38206 "Parse::MediaWikiDump XML dump file not closed on
Modified: branches/upstream/libparse-mediawikidump-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/META.yml?rev=27043&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/META.yml (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/META.yml Wed Nov 19 20:22:49 2008
@@ -1,12 +1,12 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Parse-MediaWikiDump
-version: 0.53
+version: 0.55
version_from: lib/Parse/MediaWikiDump.pm
installdirs: site
requires:
List::Util: 0
- Test::Memory::Cycle: 0
+ Object::Destroyer: 0
Test::More: 0
XML::Parser: 0
Modified: branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL?rev=27043&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL Wed Nov 19 20:22:49 2008
@@ -14,7 +14,7 @@
'List::Util' => 0,
'Test::More' => 0,
'XML::Parser' => 0,
- 'Test::Memory::Cycle' => 0,
+ 'Object::Destroyer' => 0,
},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'Parse-MediaWikiDump-*' },
Modified: branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm?rev=27043&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm Wed Nov 19 20:22:49 2008
@@ -1,5 +1,5 @@
package Parse::MediaWikiDump;
-our $VERSION = '0.53';
+our $VERSION = '0.55';
#the POD is at the end of this file
@@ -16,7 +16,7 @@
use warnings;
use List::Util;
use XML::Parser;
-use Scalar::Util qw(weaken);
+use Object::Destroyer;
#tokens in the buffer are an array ref with the 0th element specifying
#its type; these are the constants for those types.
@@ -24,7 +24,7 @@
sub new {
my ($class, $source) = @_;
my $self = {};
- my $parser_state;
+ my $parser_state = {}; #Hash::NoRef->new;
bless ($self, $class);
@@ -38,12 +38,11 @@
$$self{BUF_LIMIT} = 10000;
$$self{BYTE} = 0;
- $parser_state = {
- BUFFER => $$self{BUFFER},
- GOOD_TAGS => $$self{GOOD_TAGS},
- };
-
- $$self{EXPAT} = $$self{PARSER}->parse_start(state => $parser_state);
+ $parser_state->{GOOD_TAGS} = $$self{GOOD_TAGS};
+ $parser_state->{BUFFER} = $$self{BUFFER};
+
+ my $expat_bb = $$self{PARSER}->parse_start(state => $parser_state);
+ $$self{EXPAT} = Object::Destroyer->new($expat_bb, 'parse_done');
$self->open($source);
$self->init;
@@ -56,6 +55,8 @@
my $buffer = $$self{BUFFER};
my $offset;
my @page;
+
+ return undef if defined $self->{FINISHED};
#look through the contents of our buffer for a complete article; fill
#the buffer with more data if an entire article is not there
@@ -232,7 +233,8 @@
die "error during read: $!";
} elsif ($read == 0) {
$$self{FINISHED} = 1;
- $$self{EXPAT}->parse_done();
+ $$self{EXPAT} = undef; #parse_done is invoked through
+ #Object::Destroyer
return 0;
}
More information about the Pkg-perl-cvs-commits
mailing list