You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2004/02/20 06:13:19 UTC

svn commit: rev 6788 - in incubator/spamassassin/trunk: lib/Mail/SpamAssassin masses spamd

Author: felicity
Date: Thu Feb 19 21:13:18 2004
New Revision: 6788

Modified:
   incubator/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
   incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MsgNode.pm
   incubator/spamassassin/trunk/masses/mass-check
   incubator/spamassassin/trunk/spamd/spamd.raw
Log:
we don't need already_parsed since we have toparse.  implemented MsgNode::finish() and have things call it to be a good housekeeper.

Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm	(original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm	Thu Feb 19 21:13:18 2004
@@ -66,7 +66,6 @@
 
   $self->{pristine_headers} =	'';
   $self->{pristine_body} =	'';
-  $self->{already_parsed} =	0;
 
 #  # allow callers to set certain options ...
 #  foreach ( 'already_parsed' ) {
@@ -95,8 +94,7 @@
   my($self) = @_;
 
   # If we're called when we don't need to be, then just go ahead and return.
-  return if ($self->{'already_parsed'});
-
+  return if (!exists $self->{'toparse'});
   my $toparse = $self->{'toparse'};
   delete $self->{'toparse'};
 
@@ -109,7 +107,6 @@
 
   # Make the tree
   Mail::SpamAssassin::MsgParser->parse_body( $self, $self, $boundary, $toparse, 1 );
-  $self->{'already_parsed'} = 1;
 
   dbg("---- MIME PARSER END ----");
 }
@@ -126,7 +123,7 @@
   my ($self, $re, $onlyleaves, $recursive) = @_;
 
   # ok, we need to do the parsing now...
-  $self->_do_parse() if (!$self->{'already_parsed'});
+  $self->_do_parse() if (exists $self->{'toparse'});
 
   # and pass through to the MsgNode version of the method
   return $self->SUPER::find_parts($re, $onlyleaves, $recursive);
@@ -278,7 +275,14 @@
 
 sub finish {
   my ($self) = @_;
+
+  # Clean ourself up
   $self->finish_metadata();
+  delete $self->{pristine_headers};
+  delete $self->{pristine_body};
+
+  # Destroy the tree ...
+  $self->SUPER::finish();
 }
 
 # ---------------------------------------------------------------------------

Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MsgNode.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MsgNode.pm	(original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MsgNode.pm	Thu Feb 19 21:13:18 2004
@@ -494,6 +494,24 @@
 
 sub finish {
   my ($self) = @_;
+
+  # Clean up ourself
+  undef $self->{'headers'};
+  undef $self->{'raw_headers'};
+  undef $self->{'header_order'};
+  undef $self->{'raw'};
+  undef $self->{'decoded'};
+  undef $self->{'rendered'};
+  undef $self->{'type'};
+  undef $self->{'rendered_type'};
+
+  # Clean up our kids
+  if (exists $self->{'body_parts'}) {
+    while ( my $part = shift @{$self->{'body_parts'}} ) {
+      $part->finish();
+    }
+    undef $self->{'body_parts'};
+  }
 }
 
 # ---------------------------------------------------------------------------

Modified: incubator/spamassassin/trunk/masses/mass-check
==============================================================================
--- incubator/spamassassin/trunk/masses/mass-check	(original)
+++ incubator/spamassassin/trunk/masses/mass-check	Thu Feb 19 21:13:18 2004
@@ -309,6 +309,7 @@
   }
 
   $status->finish();
+  $ma->finish();
   undef $ma;		# clean 'em up
   undef $status;
 

Modified: incubator/spamassassin/trunk/spamd/spamd.raw
==============================================================================
--- incubator/spamassassin/trunk/spamd/spamd.raw	(original)
+++ incubator/spamassassin/trunk/spamd/spamd.raw	Thu Feb 19 21:13:18 2004
@@ -916,6 +916,7 @@
         sprintf("%.1f", time - $start) ." seconds, $actual_length bytes.";
 
     $status->finish();        # added by jm to allow GC'ing
+    $mail->finish();
 }
 
 ###########################################################################