Updated embedded PCRE to version 7.4 to avoid 2 CVE issues:-
[exim.git] / doc / doc-scripts / DoConts
1 #! /usr/bin/perl -w
2 # $Cambridge: exim/doc/doc-scripts/DoConts,v 1.1 2004/10/07 15:04:35 ph10 Exp $
3
4 $style = (@ARGV > 0)? $ARGV[0] : "a4ps";
5
6 open(IN, "z-rawindex") || die "Can't open z-rawindex\n";
7 open(OUT, ">z-contents") || die "Can't open z-contents\n";
8
9 print OUT <<'EOF';
10 .if ~~sys.fancy
11 .linelength ~~sys.linelength + 0.2in
12 .pagedepth ~~sys.pagedepth - 0.2in
13 .linedepth 12.24
14 .fi
15 .include "markup.sg"
16 .set chapter -1
17 .set p 0
18 .format p roman
19 .tabset 2em 2em
20 .
21 .foot
22 .set p ~~sys.pagenumber
23 $c [~~p]
24 .endfoot
25 .
26 .chapter Contents
27 .disable filling
28 .justify left
29 EOF
30
31 while(<IN>)
32 {
33 if (/\$e/)
34 {
35 s/\$e\s*$//; # "see also" lines have no line number
36 s/--\s*\d+$//; # remove "extra" number for index page
37
38 s/\n$//; # trailing newline
39
40 if (!/^\$/)
41 {
42 print OUT ".blank\n";
43 print OUT ".if ~~sys.leftonpage < 2*~~sys.linedepth\n";
44 print OUT ".newpage\n";
45 print OUT ".fi\n";
46 print OUT "\$shead\{$_\}\n";
47 print OUT ".blank\n";
48 }
49 else
50 {
51 print OUT "$_\n";
52 }
53 }
54 }
55
56 close(IN);
57 close(OUT);
58
59 system("sgcal z-contents -to zc-gcode -style $style -index /dev/null");
60 if ($style eq "a4ps")
61 {
62 system("sgtops zc-gcode -to zc-ps");
63 print "PostScript in zc-ps\n";
64 }
65 else
66 {
67 system("mv -f zc-gcode zc-txt");
68 print "Text in zc-txt\n";
69 }
70
71 # End