From 4aca87515a5083ae0e31ce3177189fd43b6d05ac Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 13:58:15 +0100 Subject: patch to Vanilla Tomato 1.28 --- release/src/btools/sizehistory.pl | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 release/src/btools/sizehistory.pl (limited to 'release/src/btools/sizehistory.pl') diff --git a/release/src/btools/sizehistory.pl b/release/src/btools/sizehistory.pl new file mode 100755 index 00000000..fe9e9525 --- /dev/null +++ b/release/src/btools/sizehistory.pl @@ -0,0 +1,50 @@ +#!/usr/bin/perl +# +# sizehistory +# Copyright (C) 2006 Jonathan Zarate +# + +if (($#ARGV < 0) || ($#ARGV > 1)) { + print "Usage: sizehistory [datafile]\n"; + exit 1; +} + +$fname = $ARGV[0]; +$dname = ($ARGV[1] || $fname) . ".size"; + +print "\nSize history for $fname\n\n"; +@size = `mipsel-linux-size $fname`; +foreach (@size) { + if (($text, $data, $bss, $total) = $_ =~ /^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+/) { + $line = "$text\t$data\t$bss\t$total\t" . scalar localtime((stat($fname))[10]); + print "text\tdata\tbss\ttotal\ttime\n"; + + if (open(F, "<$dname")) { + @hist = ; + close(F); + if ($#hist >= 0) { + if ($#hist > 20) { + splice(@hist, 0, $#hist - 19); + } + print @hist; + if ($hist[$#hist] =~ /^(\d+)\t(\d+)\t(\d+)\t(\d+)\t/) { + if (($1 == $text) && ($2 == $data) && ($3 == $bss)) { + print "--- same size as last ---\n$line <= current\n"; + exit 0; + } + printf "%d\t%d\t%d\t%d\t--- changes since above ---\n", ($text - $1), ($data - $2), ($bss - $3), ($total - $4); + } + } + } + + print $line, "\n"; + + if ((localtime((stat($dname))[9]))[7] != (localtime())[7]) { + open(F, ">>$dname") || die "$dname: $!"; + print F $line, "\n"; + close(F); + } + exit 0; + } +} +exit 1; -- cgit v1.2.3-54-g00ecf