blob: 93eb37a6a50eb9b128d61099b0846bc1f22195ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# Convert a sorted file with entries
# name<tab>file
# to a libref-style "references" map on stdout (4 entries per line)
# [09-Sep-87]
BEGIN {
FS = "\t";
nref = 0;
caller = "";
print "*********************************************************************";
print "* ..Name.. * ...Referenced in File... *";
print "*********************************************************************";
print "* * *";
}
{
if (($1 != caller) && (caller != ""))
{
if (length(caller) > 20)
the_caller = substr(caller,1,20);
else
the_caller = caller;
printf "* %-20s<-",the_caller;
nref4 = 4*int((nref + 3)/4);
for (k = nref; k < nref4; ++k)
refs[k] = " ";
nref = nref4;
for (k = 0; k < nref; )
{
printf " %-10s",refs[k];
++k;
if ((k % 4) == 0)
{
printf "*\n";
if (k < nref)
{
printf "* *";
}
}
}
nref = 0;
print "* * *";
}
caller = $1;
if (length($2) > 10)
$2 = substr($2,1,10);
refs[nref] = $2;
nref++; # awk treats refs[nref++] as refs[++nref], sigh...
}
END {
printf "* %-20s<-",caller;
nref4 = 4*int((nref + 3)/4);
for (k = nref; k < nref4; ++k)
refs[k] = " ";
nref = nref4;
for (k = 0; k < nref; )
{
printf " %-10s",refs[k];
++k;
if ((k % 4) == 0)
{
printf "*\n";
if (k < nref)
{
printf "* *";
}
}
}
nref = 0;
print "* * *";
print "*********************************************************************";
}
|