about summary refs log tree commit homepage
path: root/lib/PublicInbox
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-08-29 21:30:27 +0000
committerEric Wong <e@80x24.org>2015-08-29 21:35:39 +0000
commit28ee19c32a1ecf8e22f30e8f9de860695f4fb30c (patch)
tree40a372c8d3c61d7e2917d0b4c981ae61df0e0397 /lib/PublicInbox
parent26e69c85938c62774f20fd1861b67bcb01ba477d (diff)
downloadpublic-inbox-28ee19c32a1ecf8e22f30e8f9de860695f4fb30c.tar.gz
Perl does not currently optimize for this.

ref (from p5p):
http://mid.gmane.org/D5C27970-9176-4C7A-8B99-7D78360E67A2@pobox.com
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r--lib/PublicInbox/Feed.pm2
-rw-r--r--lib/PublicInbox/Filter.pm2
-rw-r--r--lib/PublicInbox/Search.pm3
-rw-r--r--lib/PublicInbox/SearchIdx.pm6
-rw-r--r--lib/PublicInbox/View.pm24
-rw-r--r--lib/PublicInbox/WWW.pm2
6 files changed, 22 insertions, 17 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index 9e567476..bc76cdcd 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -216,7 +216,7 @@ sub get_feedopts {
                 close $fh;
         }
 
-        if ($pi_config && defined $listname && length $listname) {
+        if ($pi_config && defined $listname && $listname ne '') {
                 foreach my $key (qw(address)) {
                         $rv{$key} = $pi_config->get($listname, $key) || "";
                 }
diff --git a/lib/PublicInbox/Filter.pm b/lib/PublicInbox/Filter.pm
index 0b1ec911..c0985ddd 100644
--- a/lib/PublicInbox/Filter.pm
+++ b/lib/PublicInbox/Filter.pm
@@ -211,7 +211,7 @@ sub collapse {
         $mime->header_set('Content-Type', $part->content_type);
         $mime->body_set($part->body_raw);
         my $cte = $part->header('Content-Transfer-Encoding');
-        if (defined($cte) && length($cte)) {
+        if (defined($cte) && $cte ne '') {
                 $mime->header_set('Content-Transfer-Encoding', $cte);
         }
         mark_changed($mime);
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index 4362a002..4b3830e2 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -251,10 +251,11 @@ sub subject_summary {
                         last if length($new) >= $max;
                         $subj = $new;
                 }
-                if (length $subj) {
+                if ($subj ne '') {
                         my $r = scalar @subj ? ' ...' : '';
                         $subj =~ s/ \z/$r/s;
                 } else {
+                        # subject has one REALLY long word, and NOT spam? wtf
                         @subj = ($l =~ /\A(.{1,72})/);
                         $subj = $subj[0] . ' ...';
                 }
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 292419e1..2ac53a73 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -74,7 +74,7 @@ sub add_message {
 
                 my $subj = $smsg->subject;
 
-                if (length $subj) {
+                if ($subj ne '') {
                         $doc->add_term(xpfx('subject') . $subj);
 
                         my $path = $self->subject_path($subj);
@@ -308,7 +308,7 @@ sub _index_sync {
                 my $git = PublicInbox::GitCatFile->new($self->{git_dir});
 
                 my $latest = $db->get_metadata('last_commit');
-                my $range = length $latest ? "$latest..$head" : $head;
+                my $range = $latest eq '' ? $head : "$latest..$head";
                 $latest = undef;
 
                 # get indexed messages
@@ -394,7 +394,7 @@ sub _read_git_config_perm {
 sub _git_config_perm {
         my $self = shift;
         my $perm = scalar @_ ? $_[0] : _read_git_config_perm($self);
-        return PERM_GROUP if (!defined($perm) || !length($perm));
+        return PERM_GROUP if (!defined($perm) || $perm eq '');
         return PERM_UMASK if ($perm eq 'umask');
         return PERM_GROUP if ($perm eq 'group');
         if ($perm =~ /\A(?:all|world|everybody)\z/) {
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 51fee046..cc68229f 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -198,7 +198,7 @@ sub index_walk {
         $s =~ s/^\s*$//sgm;
         $s =~ s/\s+\z//s;
 
-        if (length $s) {
+        if ($s ne '') {
                 # kill per-line trailing whitespace
                 $s =~ s/[ \t]+$//sgm;
                 $s .= "\n" unless $s =~ /\n\z/s;
@@ -352,7 +352,7 @@ sub headers_to_html_header {
         my $mid_href = $mid->as_href;
         foreach my $h (qw(From To Cc Subject Date)) {
                 my $v = $mime->header($h);
-                defined($v) && length($v) or next;
+                defined($v) && ($v ne '') or next;
                 $v = PublicInbox::Hval->new_oneline($v);
 
                 if ($h eq 'From') {
@@ -414,7 +414,7 @@ sub html_footer {
 
         foreach my $h (qw(From To Cc)) {
                 my $v = $mime->header($h);
-                defined($v) && length($v) or next;
+                defined($v) && ($v ne '') or next;
                 my @addrs = Email::Address->parse($v);
                 foreach my $recip (@addrs) {
                         my $address = $recip->address;
@@ -439,9 +439,9 @@ sub html_footer {
         my $srch = $ctx->{srch} if $ctx;
         my $idx = $standalone ? " <a\nhref=\"../../\">index</a>" : '';
         if ($idx && $srch) {
-                $irt = $mime->header('In-Reply-To') || '';
                 $mid = mid_compress(mid_clean($mid));
-                my $t_anchor = length $irt ? T_ANCHOR : '';
+                my $t_anchor = defined $irt ? T_ANCHOR : '';
+                $irt = $mime->header('In-Reply-To');
                 $idx = " <a\nhref=\"../../t/$mid/$t_anchor\">".
                        "threadlink</a>$idx";
                 my $res = $srch->get_followups($mid);
@@ -458,7 +458,7 @@ sub html_footer {
                 } else {
                         $idx .= "\n(no followups, yet)\n";
                 }
-                if ($irt) {
+                if (defined $irt) {
                         $irt = PublicInbox::Hval->new_msgid($irt);
                         $irt = $irt->as_href;
                         $irt = "<a\nhref=\"../$irt/\">parent</a> ";
@@ -499,10 +499,14 @@ sub simple_dump {
                         my $mid = $x->header('Message-ID');
                         my $pfx = '  ' x $level;
                         $$dst .= $pfx;
+
+                        # Subject is never undef, this mail was loaded from
+                        # our Xapian which would've resulted in '' if it were
+                        # really missing (and Filter rejects empty subjects)
                         my $s = $x->header('Subject');
                         my $h = $root->[2]->subject_path($s);
                         if ($root->[1]->{$h}) {
-                                $s = '';
+                                $s = undef;
                         } else {
                                 $root->[1]->{$h} = 1;
                                 $s = PublicInbox::Hval->new($s);
@@ -514,11 +518,11 @@ sub simple_dump {
                         $m = '../' . $m->as_href . '/';
                         $f = $f->as_html;
                         $d = $d->as_html . ' UTC';
-                        if (length($s) == 0) {
-                                $$dst .= "` <a\nhref=\"$m\">$f @ $d</a>\n";
-                        } else {
+                        if (defined $s) {
                                 $$dst .= "` <a\nhref=\"$m\">$s</a>\n" .
                                      "$pfx  by $f @ $d\n";
+                        } else {
+                                $$dst .= "` <a\nhref=\"$m\">$f @ $d</a>\n";
                         }
                 }
         }
diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm
index 8058f3e1..a01271b1 100644
--- a/lib/PublicInbox/WWW.pm
+++ b/lib/PublicInbox/WWW.pm
@@ -249,7 +249,7 @@ sub do_redirect {
 sub ctx_get {
         my ($ctx, $key) = @_;
         my $val = $ctx->{$key};
-        (defined $val && length $val) or die "BUG: bad ctx, $key unusable\n";
+        (defined $val && $val ne '') or die "BUG: bad ctx, $key unusable\n";
         $val;
 }