]> Sergey Matveev's repositories - public-inbox.git/commitdiff
avoid length in boolean context
authorEric Wong <e@80x24.org>
Sat, 29 Aug 2015 21:30:27 +0000 (21:30 +0000)
committerEric Wong <e@80x24.org>
Sat, 29 Aug 2015 21:35:39 +0000 (21:35 +0000)
Perl does not currently optimize for this.

ref (from p5p):
http://mid.gmane.org/D5C27970-9176-4C7A-8B99-7D78360E67A2@pobox.com

lib/PublicInbox/Feed.pm
lib/PublicInbox/Filter.pm
lib/PublicInbox/Search.pm
lib/PublicInbox/SearchIdx.pm
lib/PublicInbox/View.pm
lib/PublicInbox/WWW.pm
public-inbox-mda

index 9e567476aa75d289109440812ad242e1eb2297d1..bc76cdcdc446619085dae4cd8865d43084b298ea 100644 (file)
@@ -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) || "";
                }
index 0b1ec911407d3fa60ed9b1a3cdcf9ab6023b2641..c0985dddfec588b889d312516cdc1116e753b8d7 100644 (file)
@@ -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);
index 4362a002e6a941ab61e93ebbbbc3ce987ca5d748..4b3830e2fbee6b61cbb5450ceb9b92177dbf1923 100644 (file)
@@ -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] . ' ...';
                }
index 292419e15a2992791d4ef842abf063ffa170c235..2ac53a73efea7cdc8bf4bb1fca8045b428a0b02f 100644 (file)
@@ -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/) {
index 51fee0467c2fa6748dafe969be8fa5a8677bc708..cc68229ff9748a013f035f6056a74cb0162de00c 100644 (file)
@@ -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";
                        }
                }
        }
index 8058f3e1b1c2f998cadc053891c2f9f5a9c80d6c..a01271b1c9291460a86f8011470e83f4ad770ac9 100644 (file)
@@ -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;
 }
 
index c4822b6180e6124b84991bffbd25905dac857c4a..b1f33af5902195d34cd43c04d03d4039bfc9bbd5 100755 (executable)
@@ -64,7 +64,7 @@ if (PublicInbox::MDA->precheck($filter, $dst->{address}) &&
 } else {
        # Ensure emergency spam gets spamassassin headers.
        # This makes it easier to prioritize obvious spam from less obvious
-       if (defined($filtered) && length($filtered)) {
+       if (defined($filtered) && $filtered ne '') {
                my $drop = Email::MIME->new(\$filtered);
                $filtered = undef;
                $filter->simple($drop);
@@ -82,7 +82,7 @@ sub do_spamc {
                run([qw/spamc -E --headers/], \$orig, $out);
        };
 
-       return ($@ || $? || !defined($$out) || length($$out) == 0) ? 0 : 1;
+       return ($@ || $? || !defined($$out) || $$out eq '') ? 0 : 1;
 }
 
 sub search_index_sync {