File: split-man

package info (click to toggle)
kernel-source-2.4.27 2.4.27-10sarge5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 191,224 kB
  • ctags: 610,077
  • sloc: ansic: 3,299,602; asm: 164,708; makefile: 10,962; sh: 3,725; perl: 2,273; yacc: 1,651; cpp: 820; lex: 752; tcl: 577; awk: 251; lisp: 218; sed: 79
file content (33 lines) | stat: -rw-r--r-- 693 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/perl
#
#      split-man: create man pages from kernel-doc -man output
#
# Author:	Tim Waugh <twaugh@redhat.com>
# Modified by:	Christoph Hellwig <hch@infradead.org>
#

use strict;

die "$0: where do I put the results?\n" unless ($#ARGV >= 0);
die "$0: can't create $ARGV[0]: $!\n" unless mkdir $ARGV[0], 0777;

my $state = 0;

while (<STDIN>) {
	s/&amp;(\w+)/\\fB\1\\fP/g; # fix smgl uglinesses
	if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {
		close OUT unless ($state++ == 0);
		my $fn = "$ARGV[0]/$1.9";
		if (open OUT, ">$fn") {
			print STDERR "creating $fn\n";
		} else {
			die "can't open $fn: $!\n";
		}

		print OUT $_;
	} elsif ($state != 0) {
		print OUT $_;
	}
}

close OUT;