fix comment width issues for tabs
[spider.git] / perl / Spot.pm
index df2a9730db869361a3a355a2d9475fab26c46cd0..cbe37cc66960e2decda72de2d553f544ac9a1912 100644 (file)
@@ -460,13 +460,18 @@ sub formatl
 {
        my $t = ztime($_[3]);
        my $d = cldate($_[3]);
-       my $width = ($_[0] ? $_[0] : 80) - 80 + 28;
+       my $spotter = "<$_[5]>";
        my $comment = $_[4] || '';
-       $comment = substr $comment, 0, $width if length($comment) > $width;
-       $comment .= ' ' x ($width - length($comment)) if length($comment) < $width;
+       $comment =~ s/\t+/ /g;
+       my $cl = length $comment;
+       my $s = sprintf "%8.1f  %-11s %s %s", $_[1], $_[2], $d, $t;
+       my $width = ($_[0] ? $_[0] : 80) - length($spotter) - length($s) - 2;
+       
+       $comment = substr $comment, 0, $width if $cl > $width;
+       $comment .= ' ' x ($width-$cl) if $cl < $width;
 
 #      return sprintf "%8.1f  %-11s %s %s  %-28.28s%7s>", $_[0], $_[1], $d, $t, ($_[3]||''), "<$_[4]" ;
-       return sprintf "%8.1f  %-11s %s %s  ${comment}%7s>", $_[1], $_[2], $d, $t, "<$_[5]" ;
+       return "$s $comment$spotter";
 }
 
 # enter the spot for dup checking and return true if it is already a dup