|
Packit |
71fd91 |
#!/usr/bin/perl -w
|
|
Packit |
71fd91 |
#
|
|
Packit |
71fd91 |
# ------------------------------------------------------------------
|
|
Packit |
71fd91 |
# This file is part of bzip2/libbzip2, a program and library for
|
|
Packit |
71fd91 |
# lossless, block-sorting data compression.
|
|
Packit |
71fd91 |
#
|
|
Packit |
71fd91 |
# bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
|
Packit |
71fd91 |
# Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
|
|
Packit |
71fd91 |
#
|
|
Packit |
71fd91 |
# Please read the WARNING, DISCLAIMER and PATENTS sections in the
|
|
Packit |
71fd91 |
# README file.
|
|
Packit |
71fd91 |
#
|
|
Packit |
71fd91 |
# This program is released under the terms of the license contained
|
|
Packit |
71fd91 |
# in the file LICENSE.
|
|
Packit |
71fd91 |
# ------------------------------------------------------------------
|
|
Packit |
71fd91 |
#
|
|
Packit |
71fd91 |
use strict;
|
|
Packit |
71fd91 |
|
|
Packit |
71fd91 |
# get command line values:
|
|
Packit |
71fd91 |
if ( $#ARGV !=1 ) {
|
|
Packit |
71fd91 |
die "Usage: $0 xml_infile xml_outfile\n";
|
|
Packit |
71fd91 |
}
|
|
Packit |
71fd91 |
|
|
Packit |
71fd91 |
my $infile = shift;
|
|
Packit |
71fd91 |
# check infile exists
|
|
Packit |
71fd91 |
die "Can't find file \"$infile\""
|
|
Packit |
71fd91 |
unless -f $infile;
|
|
Packit |
71fd91 |
# check we can read infile
|
|
Packit |
71fd91 |
if (! -r $infile) {
|
|
Packit |
71fd91 |
die "Can't read input $infile\n";
|
|
Packit |
71fd91 |
}
|
|
Packit |
71fd91 |
# check we can open infile
|
|
Packit |
71fd91 |
open( INFILE,"<$infile" ) or
|
|
Packit |
71fd91 |
die "Can't input $infile $!";
|
|
Packit |
71fd91 |
|
|
Packit |
71fd91 |
#my $outfile = 'fmt-manual.xml';
|
|
Packit |
71fd91 |
my $outfile = shift;
|
|
Packit |
71fd91 |
#print "Infile: $infile, Outfile: $outfile\n";
|
|
Packit |
71fd91 |
# check we can write to outfile
|
|
Packit |
71fd91 |
open( OUTFILE,">$outfile" ) or
|
|
Packit |
71fd91 |
die "Can't output $outfile $! for writing";
|
|
Packit |
71fd91 |
|
|
Packit |
71fd91 |
my ($prev, $curr, $str);
|
|
Packit |
71fd91 |
$prev = ''; $curr = '';
|
|
Packit |
71fd91 |
while ( <INFILE> ) {
|
|
Packit |
71fd91 |
|
|
Packit |
71fd91 |
print OUTFILE $prev;
|
|
Packit |
71fd91 |
$prev = $curr;
|
|
Packit |
71fd91 |
$curr = $_;
|
|
Packit |
71fd91 |
$str = '';
|
|
Packit |
71fd91 |
|
|
Packit |
71fd91 |
if ( $prev =~ /<programlisting>$|<screen>$/ ) {
|
|
Packit |
71fd91 |
chomp $prev;
|
|
Packit |
71fd91 |
$curr = join( '', $prev, "
|
|
Packit |
71fd91 |
$prev = '';
|
|
Packit |
71fd91 |
next;
|
|
Packit |
71fd91 |
}
|
|
Packit |
71fd91 |
elsif ( $curr =~ /<\/programlisting>|<\/screen>/ ) {
|
|
Packit |
71fd91 |
chomp $prev;
|
|
Packit |
71fd91 |
$curr = join( '', $prev, "]]>", $curr );
|
|
Packit |
71fd91 |
$prev = '';
|
|
Packit |
71fd91 |
next;
|
|
Packit |
71fd91 |
}
|
|
Packit |
71fd91 |
}
|
|
Packit |
71fd91 |
print OUTFILE $curr;
|
|
Packit |
71fd91 |
close INFILE;
|
|
Packit |
71fd91 |
close OUTFILE;
|
|
Packit |
71fd91 |
exit;
|