Specifically regarding the quoted-printable stuff.. my diff must have been
off an older version.  This is probably a better representation of your
changes:

@@ -574,15 +574,22 @@
     my $line;
     my @qp_continuations;
     while ( $line = $txn->body_getline ) {
+        chomp $line;
         if ( $line =~ /(.*)=$/ ) {
             push @qp_continuations, $1;
             next;
         } elsif ( @qp_continuations ) {
-            $line = join '', @qp_continuations, $line;
+            $line = join '', @qp_continuations, $1;
             @qp_continuations = ();
         }
         $self->find_uris($line);
     }
+    if ( @qp_continuations ) {
+        $self->log(LOGINFO, "uribl: WARNING: scan_body exiting with line
continuations left.  Bad Email?");
+        $line = join('', @qp_continuations, $line);
+        @qp_continuations = ();
+        $self->find_uris($line);
+    }
 }

The first and last change should certainly go in, but what about this:


         if ( $line =~ /(.*)=$/ ) {
             push @qp_continuations, $1;
             next;
         } elsif ( @qp_continuations ) {
-            $line = join '', @qp_continuations, $line;
+            $line = join '', @qp_continuations, $1;
             @qp_continuations = ();
         }

Won't $1 only be defined when the condition in the 'if' is met, thus
making your change equivalent to:

$line = join '', $qp_continuations;

I'm not sure but it seems like that change doesn't belong..

-Jared

Reply via email to