about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-09-15 03:17:29 +0000
committerEric Wong <e@80x24.org>2014-09-15 03:17:29 +0000
commit75980e10b89ccd6df8e583483cba40f93338fc5c (patch)
tree7f89b4912de3f6d696ee57ecf828b969eb6efa4c /lib
parent27a0b84774ad63a4462bc17c07c4f9b8e78a54f1 (diff)
downloadpublic-inbox-75980e10b89ccd6df8e583483cba40f93338fc5c.tar.gz
This allows us to more-easily group and pass parameters.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/Feed.pm15
-rw-r--r--lib/PublicInbox/View.pm5
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index 385e573e..1fa38bf1 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -86,14 +86,14 @@ sub generate_html_index {
                 } @_;
         });
 
-        my %seen;
         # except we sort top-level messages reverse chronologically
+        my $state = [ time, {}, $first ];
         for (sort { (eval { $b->message->header('X-PI-Date') } || 0) <=>
                     (eval { $a->message->header('X-PI-Date') } || 0)
                   } $th->rootset) {
-                dump_msg($_, 0, \$html, time, \%seen, $first);
+                dump_msg($_, 0, \$html, $state);
         }
-
+        $state = undef;
         Email::Address->purge_cache;
 
         my $footer = nav_footer($args->{cgi}, $first, $last, $feed_opts);
@@ -287,14 +287,13 @@ sub add_to_feed {
 }
 
 sub dump_msg {
-        my ($self, $level, $html, $now, $seen, $first) = @_;
+        my ($self, $level, $html, $state) = @_;
         my $mime = $self->message;
         if ($mime) {
-                $$html .= PublicInbox::View->index_entry($mime, $now, $level,
-                                                         $seen, $first);
+                $$html .= PublicInbox::View->index_entry($mime, $level, $state);
         }
-        dump_msg($self->child, $level+1, $html, $now, $seen, $first) if $self->child;
-        dump_msg($self->next, $level, $html, $now, $seen, $first) if $self->next;
+        dump_msg($self->child, $level+1, $html, $state) if $self->child;
+        dump_msg($self->next, $level, $html, $state) if $self->next;
 }
 
 sub do_cat_mail {
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index d3849dcc..b3797d39 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -43,8 +43,9 @@ sub feed_entry {
 
 # this is already inside a <pre>
 sub index_entry {
-        my ($class, $mime, $now, $level, $seen, $first) = @_;
-        my $rv = "";
+        my ($class, $mime, $level, $state) = @_;
+        my ($now, $seen, $first) = @$state;
+        my $rv = '';
         my $part_nr = 0;
         my $enc_msg = enc_for($mime->header("Content-Type"));
         my $subj = $mime->header('Subject');