git.shiar.nl
/
barcat.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
indicate limited results in stats
[barcat.git]
/
barcat
diff --git
a/barcat
b/barcat
index 785df753eb73b8354f941ac6ae639afdeafa87de..c9b36cacfd853edf56dbae87ef11fc98735fb0e7 100755
(executable)
--- a/
barcat
+++ b/
barcat
@@
-102,8
+102,8
@@
state $nr = $opt{hidemin} ? $opt{hidemin} - 1 : 0;
@lines > $nr or return unless $opt{hidemin};
@order = sort { $b <=> $a } grep { length } @values;
@lines > $nr or return unless $opt{hidemin};
@order = sort { $b <=> $a } grep { length } @values;
-my $maxval =
$opt{hidemax} ? max @values[0 .. $opt{hidemax} - 1] : $order[0]
;
-my $minval = min $order[-1], 0;
+my $maxval =
($opt{hidemax} ? max grep { length } @values[0 .. $opt{hidemax} - 1] : $order[0]) // 0
;
+my $minval = min $order[-1]
// ()
, 0;
my $lenval = $opt{'value-length'} // max map { length } @order;
my $len = defined $opt{trim} && $opt{trim} <= 0 ? -$opt{trim} + 1 :
max map { length $values[$_] && length $lines[$_] }
my $lenval = $opt{'value-length'} // max map { length } @order;
my $len = defined $opt{trim} && $opt{trim} <= 0 ? -$opt{trim} + 1 :
max map { length $values[$_] && length $lines[$_] }
@@
-171,6
+171,11
@@
while ($nr <= $#lines) {
show_lines();
if ($opt{stat}) {
show_lines();
if ($opt{stat}) {
+ if ($opt{hidemin} or $opt{hidemax}) {
+ $opt{hidemin} ||= 1;
+ $opt{hidemax} ||= @lines;
+ printf '%s of ', sum(@values[$opt{hidemin} - 1 .. $opt{hidemax} - 1]) // 0;
+ }
my $total = sum @order;
printf '%s total', $total;
printf ' in %d values', scalar @values;
my $total = sum @order;
printf '%s total', $total;
printf ' in %d values', scalar @values;