OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / lib / libbzip2 / format.pl
1 #!/usr/bin/perl -w
2 use strict;
3
4 # get command line values:
5 if ( $#ARGV !=1 ) {
6     die "Usage:  $0 xml_infile xml_outfile\n";
7 }
8
9 my $infile = shift;
10 # check infile exists
11 die "Can't find file \"$infile\""
12   unless -f $infile;
13 # check we can read infile
14 if (! -r $infile) {
15     die "Can't read input $infile\n";
16 }
17 # check we can open infile
18 open( INFILE,"<$infile" ) or 
19     die "Can't input $infile $!";
20
21 #my $outfile = 'fmt-manual.xml';
22 my $outfile = shift;
23 #print "Infile: $infile, Outfile: $outfile\n";
24 # check we can write to outfile
25 open( OUTFILE,">$outfile" ) or 
26     die "Can't output $outfile $! for writing";
27
28 my ($prev, $curr, $str);
29 $prev = ''; $curr = '';
30 while ( <INFILE> ) {
31
32                 print OUTFILE $prev;
33     $prev = $curr;
34     $curr = $_;
35     $str = '';
36
37     if ( $prev =~ /<programlisting>$|<screen>$/ ) {
38         chomp $prev;
39         $curr = join( '', $prev, "<![CDATA[", $curr );
40                                 $prev = '';
41         next;
42     }
43     elsif ( $curr =~ /<\/programlisting>|<\/screen>/ ) {
44         chomp $prev;
45         $curr = join( '', $prev, "]]>", $curr );
46                                 $prev = '';
47         next;
48     }
49 }
50 print OUTFILE $curr;
51 close INFILE;
52 close OUTFILE;
53 exit;