| ... | ... | @@ -31,13 +31,13 @@ use warnings; | 
| 31 | 31 |  use utf8;
 | 
| 32 | 32 |  
 | 
| 33 | 33 |  use Const::Fast;
 | 
| 34 |  | -use List::UtilsBy qw(max_by);
 | 
| 35 | 34 |  use Unicode::UTF8 qw(encode_utf8 decode_utf8 valid_utf8);
 | 
| 36 | 35 |  
 | 
| 37 | 36 |  const my $GREATER_THAN => q{>};
 | 
| 38 | 37 |  const my $VERTICAL_BAR => q{|};
 | 
| 39 | 38 |  
 | 
| 40 | 39 |  const my $VERY_LONG => 512;
 | 
|  | 40 | +const my $ITEM_NOT_FOUND => -1;
 | 
| 41 | 41 |  
 | 
| 42 | 42 |  use Moo;
 | 
| 43 | 43 |  use namespace::clean;
 | 
| ... | ... | @@ -97,10 +97,12 @@ sub visit_patched_files { | 
| 97 | 97 |      open(my $fd, '<', $item->unpacked_path)
 | 
| 98 | 98 |        or die encode_utf8('Cannot open ' . $item->unpacked_path);
 | 
| 99 | 99 |  
 | 
| 100 |  | -    my %line_lengths;
 | 
| 101 |  | -
 | 
| 102 |  | -    my $position = 1;
 | 
|  | 100 | +    my $longest;
 | 
|  | 101 | +    my $length = $ITEM_NOT_FOUND;
 | 
|  | 102 | +    my $position = 0;
 | 
| 103 | 103 |      while (my $line = <$fd>) {
 | 
|  | 104 | +        $position++;
 | 
|  | 105 | +
 | 
| 104 | 106 |          # Skip SQL insert and select statements
 | 
| 105 | 107 |          next if ($line =~ /^(INSERT|SELECT)\s/i
 | 
| 106 | 108 |              and $item->basename =~ /sql/i);
 | 
| ... | ... | @@ -109,24 +111,22 @@ sub visit_patched_files { | 
| 109 | 111 |          $line = decode_utf8($line)
 | 
| 110 | 112 |            if valid_utf8($line);
 | 
| 111 | 113 |  
 | 
| 112 |  | -        $line_lengths{$position} = length $line;
 | 
| 113 |  | -
 | 
| 114 |  | -    } continue {
 | 
| 115 |  | -        ++$position;
 | 
|  | 114 | +        if( length $line > $length ) {
 | 
|  | 115 | +            $longest = $position;
 | 
|  | 116 | +            $length = length $line;
 | 
|  | 117 | +        }
 | 
| 116 | 118 |      }
 | 
| 117 | 119 |  
 | 
| 118 | 120 |      close $fd;
 | 
| 119 | 121 |  
 | 
| 120 |  | -    my $longest = max_by { $line_lengths{$_} } keys %line_lengths;
 | 
| 121 |  | -
 | 
| 122 | 122 |      return
 | 
| 123 | 123 |        unless defined $longest;
 | 
| 124 | 124 |  
 | 
| 125 | 125 |      my $pointer = $item->pointer($longest);
 | 
| 126 | 126 |  
 | 
| 127 | 127 |      $self->pointed_hint('very-long-line-length-in-source-file',
 | 
| 128 |  | -        $pointer, $line_lengths{$longest}, $GREATER_THAN, $VERY_LONG)
 | 
| 129 |  | -      if $line_lengths{$longest} > $VERY_LONG;
 | 
|  | 128 | +        $pointer, $length, $GREATER_THAN, $VERY_LONG)
 | 
|  | 129 | +      if $length > $VERY_LONG;
 | 
| 130 | 130 |  
 | 
| 131 | 131 |      return;
 | 
| 132 | 132 |  }
 |