1# $Id: pgno.awk,v 12.0 2004/11/17 03:43:25 bostic Exp $
2#
3# Take a comma-separated list of page numbers and spit out all the
4# log records that affect those page numbers.
5
6NR == 1 {
7	npages = 0
8	while ((ndx = index(PGNO, ",")) != 0) {
9		pgno[npages] = substr(PGNO, 1, ndx - 1);
10		PGNO = substr(PGNO, ndx + 1, length(PGNO) - ndx);
11		npages++
12	}
13	pgno[npages] = PGNO;
14}
15
16/^\[/{
17	if (printme == 1) {
18		printf("%s\n", rec);
19		printme = 0
20	}
21	rec = "";
22
23	rec = $0
24}
25/^	/{
26	rec = sprintf("%s\n%s", rec, $0);
27}
28/pgno/{
29	for (i = 0; i <= npages; i++)
30		if ($2 == pgno[i])
31			printme = 1
32}
33/right/{
34	for (i = 0; i <= npages; i++)
35		if ($2 == pgno[i])
36			printme = 1
37}
38/left/{
39	for (i = 0; i <= npages; i++)
40		if ($2 == pgno[i])
41			printme = 1
42}
43
44END {
45	if (printme == 1)
46		printf("%s\n", rec);
47}
48