1#!/usr/bin/env perl
2#
3# Copyright (C) 2006-2008, 2012  Internet Systems Consortium, Inc. ("ISC")
4#
5# Permission to use, copy, modify, and/or distribute this software for any
6# purpose with or without fee is hereby granted, provided that the above
7# copyright notice and this permission notice appear in all copies.
8#
9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15# PERFORMANCE OF THIS SOFTWARE.
16
17# $Id: convertxsl.pl,v 1.14 2008/07/17 23:43:26 jinmei Exp $
18
19use strict;
20use warnings;
21
22my $rev = '$Id: convertxsl.pl,v 1.14 2008/07/17 23:43:26 jinmei Exp $';
23$rev =~ s/\$//g;
24$rev =~ s/,v//g;
25$rev =~ s/Id: //;
26
27my $xsl = "unknown";
28my $lines = '';
29
30while (<>) {
31    chomp;
32    # pickout the id for comment.
33    $xsl = $_ if (/<!-- .Id:.* -->/);
34    # convert Id string to a form not recognisable by cvs.
35    $_ =~ s/<!-- .Id:(.*). -->/<!-- \\045Id: $1\\045 -->/;
36    s/[\ \t]+/ /g;
37    s/\>\ \</\>\</g;
38    s/\"/\\\"/g;
39    s/^/\t\"/;
40    s/$/\\n\"/;
41    if ($lines eq "") {
42	    $lines .= $_;
43    } else {
44	    $lines .= "\n" . $_;
45    }
46}
47
48$xsl =~ s/\$//g;
49$xsl =~ s/<!-- Id: //;
50$xsl =~ s/ -->.*//;
51$xsl =~ s/,v//;
52
53print "/*\n * Generated by $rev \n * From $xsl\n */\n";
54print 'static char xslmsg[] =',"\n";
55print $lines;
56
57print ';', "\n";
58