Fixed compatibility of output.
[AROS.git] / external / bz2 / format.pl
blobf169fd9de2c5c615e44798e22a46b3d64297b5a1
1 #!/usr/bin/perl -w
3 # ------------------------------------------------------------------
4 # This file is part of bzip2/libbzip2, a program and library for
5 # lossless, block-sorting data compression.
7 # bzip2/libbzip2 version 1.0.6 of 6 September 2010
8 # Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
10 # Please read the WARNING, DISCLAIMER and PATENTS sections in the
11 # README file.
13 # This program is released under the terms of the license contained
14 # in the file LICENSE.
15 # ------------------------------------------------------------------
17 use strict;
19 # get command line values:
20 if ( $#ARGV !=1 ) {
21 die "Usage: $0 xml_infile xml_outfile\n";
24 my $infile = shift;
25 # check infile exists
26 die "Can't find file \"$infile\""
27 unless -f $infile;
28 # check we can read infile
29 if (! -r $infile) {
30 die "Can't read input $infile\n";
32 # check we can open infile
33 open( INFILE,"<$infile" ) or
34 die "Can't input $infile $!";
36 #my $outfile = 'fmt-manual.xml';
37 my $outfile = shift;
38 #print "Infile: $infile, Outfile: $outfile\n";
39 # check we can write to outfile
40 open( OUTFILE,">$outfile" ) or
41 die "Can't output $outfile $! for writing";
43 my ($prev, $curr, $str);
44 $prev = ''; $curr = '';
45 while ( <INFILE> ) {
47 print OUTFILE $prev;
48 $prev = $curr;
49 $curr = $_;
50 $str = '';
52 if ( $prev =~ /<programlisting>$|<screen>$/ ) {
53 chomp $prev;
54 $curr = join( '', $prev, "<![CDATA[", $curr );
55 $prev = '';
56 next;
58 elsif ( $curr =~ /<\/programlisting>|<\/screen>/ ) {
59 chomp $prev;
60 $curr = join( '', $prev, "]]>", $curr );
61 $prev = '';
62 next;
65 print OUTFILE $curr;
66 close INFILE;
67 close OUTFILE;
68 exit;